Skip to content

Commit

Permalink
SEO: Default-Werte korrekt berücksichtigen (#494)
Browse files Browse the repository at this point in the history
  • Loading branch information
gharlan authored Jul 31, 2022
1 parent a434d4d commit 6821550
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 8 deletions.
6 changes: 3 additions & 3 deletions install.php
Original file line number Diff line number Diff line change
Expand Up @@ -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()
;
Expand Down
15 changes: 10 additions & 5 deletions lib/yrewrite/seo.php
Original file line number Diff line number Diff line change
Expand Up @@ -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'] = '<meta name="robots" content="'.$content.'">';

$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'] = '<link rel="canonical" href="'.$canonicalUrl.'" />';
}
$tagsOg['og:url'] = '<meta property="og:url" href="'.$canonicalUrl.'" />';
Expand Down Expand Up @@ -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 '<meta name="robots" content="index, follow">';
}
if (2 == $this->article->getValue(self::$meta_index_field)) {
if (2 == $index) {
return '<meta name="robots" content="noindex, follow">';
}
return '<meta name="robots" content="noindex, nofollow">';
Expand Down Expand Up @@ -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);
Expand Down
6 changes: 6 additions & 0 deletions update.php
Original file line number Diff line number Diff line change
Expand Up @@ -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"')
Expand Down

0 comments on commit 6821550

Please sign in to comment.