From 6821550fedc0640775ca91b723608d2912b35cae Mon Sep 17 00:00:00 2001 From: Gregor Harlan Date: Sun, 31 Jul 2022 23:42:18 +0200 Subject: [PATCH] =?UTF-8?q?SEO:=20Default-Werte=20korrekt=20ber=C3=BCcksic?= =?UTF-8?q?htigen=20(#494)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install.php | 6 +++--- lib/yrewrite/seo.php | 15 ++++++++++----- update.php | 6 ++++++ 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/install.php b/install.php index c052972d..f593637e 100644 --- a/install.php +++ b/install.php @@ -18,9 +18,9 @@ ->ensureColumn(new rex_sql_column('yrewrite_title', 'varchar(191)'), 'yrewrite_redirection') ->ensureColumn(new rex_sql_column('yrewrite_description', 'text'), 'yrewrite_title') ->ensureColumn(new rex_sql_column('yrewrite_image', 'varchar(191)'), 'yrewrite_description') - ->ensureColumn(new rex_sql_column('yrewrite_changefreq', 'varchar(10)'), 'yrewrite_image') - ->ensureColumn(new rex_sql_column('yrewrite_priority', 'varchar(5)'), 'yrewrite_changefreq') - ->ensureColumn(new rex_sql_column('yrewrite_index', 'tinyint(1)'), 'yrewrite_priority') + ->ensureColumn(new rex_sql_column('yrewrite_changefreq', 'varchar(10)', true), 'yrewrite_image') + ->ensureColumn(new rex_sql_column('yrewrite_priority', 'varchar(5)', true), 'yrewrite_changefreq') + ->ensureColumn(new rex_sql_column('yrewrite_index', 'tinyint(1)', true), 'yrewrite_priority') ->ensureColumn(new rex_sql_column('yrewrite_canonical_url', 'text'), 'yrewrite_index') ->alter() ; diff --git a/lib/yrewrite/seo.php b/lib/yrewrite/seo.php index b9d6fea0..91a3cb01 100644 --- a/lib/yrewrite/seo.php +++ b/lib/yrewrite/seo.php @@ -100,14 +100,16 @@ public function getTags(): string } } + $index = $this->article->getValue(self::$meta_index_field) ?? self::$index_setting_default; + $content = 'noindex, nofollow'; - if (1 == $this->article->getValue(self::$meta_index_field) || (0 == $this->article->getValue(self::$meta_index_field) && $this->article->isOnline())) { + if (1 == $index || (0 == $index && $this->article->isOnline())) { $content = 'index, follow'; } $tags['robots'] = ''; $canonicalUrl = rex_escape($this->getCanonicalUrl()); - if (1 == $this->article->getValue(self::$meta_index_field) || (0 == $this->article->getValue(self::$meta_index_field) && $this->article->isOnline())) { + if (1 == $index || (0 == $index && $this->article->isOnline())) { $tags['canonical'] = ''; } $tagsOg['og:url'] = ''; @@ -144,10 +146,12 @@ public function getCanonicalUrlTag() /** @deprecated use getTags instead */ public function getRobotsTag() { - if (1 == $this->article->getValue(self::$meta_index_field) || (0 == $this->article->getValue(self::$meta_index_field) && $this->article->isOnline())) { + $index = $this->article->getValue(self::$meta_index_field) ?? self::$index_setting_default; + + if (1 == $index || (0 == $index && $this->article->isOnline())) { return ''; } - if (2 == $this->article->getValue(self::$meta_index_field)) { + if (2 == $index) { return ''; } return ''; @@ -289,11 +293,12 @@ public function sendSitemap($domain = '') } $article = rex_article::get($article_id, $clang_id); + $index = $article->getValue(self::$meta_index_field) ?? self::$index_setting_default; if ( ($article) && $article->isPermitted() && - (1 == $article->getValue(self::$meta_index_field) || ($article->isOnline() && 0 == $article->getValue(self::$meta_index_field))) && + (1 == $index || ($article->isOnline() && 0 == $index)) && ($article_id != $domain->getNotfoundId() || $article_id == $domain->getStartId()) ) { $changefreq = $article->getValue(self::$meta_changefreq_field); diff --git a/update.php b/update.php index 0406e7f5..7728760e 100644 --- a/update.php +++ b/update.php @@ -55,6 +55,12 @@ } if (rex_version::compare($this->getVersion(), '2.9-dev', '<=')) { + rex_sql::factory() + ->setTable(rex::getTable('article')) + ->setRawValue('yrewrite_changefreq', 'IF(yrewrite_changefreq = "", NULL, yrewrite_changefreq)') + ->setRawValue('yrewrite_priority', 'IF(yrewrite_priority = "", NULL, yrewrite_priority)') + ->update(); + rex_sql::factory() ->setTable(rex::getTable('yrewrite_forward')) ->setWhere('expiry_date = "0000-00-00"')