sitemap 0.60: Kick noindex pages out of the sitemap (#106)

* sitemap 0.60: Kick noindex pages out of the sitemap
See https://github.com/s9y/Serendipity/issues/601

* Add / fix German translation.

Signed-off-by: Thomas Hochstein <thh@inter.net>
This commit is contained in:
onli 2019-11-06 14:34:45 +01:00 committed by GitHub
parent 10096ba824
commit 42bcd12fe7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 36 additions and 10 deletions

View file

@ -1,3 +1,7 @@
0.60:
-----
* By default do not add pages that modern themes will set as noindex (overview pages)
0.59:
-----
* Set xmlns for sitemap-news also with gnews_single mode

View file

@ -17,13 +17,12 @@
@define('PLUGIN_EVENT_SITEMAP_ROBOTS_TXT', 'Alternativ kann sie auch <a href="http://googlewebmastercentral-de.blogspot.com/2007/04/was-gibts-neues-bei-sitemapsorg.html">in die robots.txt eingefügt werden</a>.<br/>');
@define('PLUGIN_EVENT_SITEMAP_URL', 'URL-Liste für Pings');
@define('PLUGIN_EVENT_SITEMAP_URL_DESC', 'URLs für Pingbacks (%s wird durch URL zur Sitemap ersetzt, verschiedene Einträge werden mit \';\' (Semicolon) getrennt, fall nötig muss ein Semicolon durch \'%3B\' ersetzt werden).');
@define('PLUGIN_EVENT_SITEMAP_URL_DESC', 'URL for pingbacks (%s is replaced with the sitemap-URL, seperate multiple entries with \';\' (semicolon), if you need to enter a ; use \'%3B\').');
@define('PLUGIN_EVENT_SITEMAP_ADDFEEDS', 'Newsfeeds hinzufügen');
@define('PLUGIN_EVENT_SITEMAP_ADDFEEDS_DESC', 'Füge die URLs der Newsfeeds (RSS 0.9, 1.0, 2.0, Atom und Kategorien) zur Sitemap.');
@define('PLUGIN_EVENT_SITEMAP_ADDFEEDS_DESC', 'Füge die URLs der Newsfeeds (RSS 0.9, 1.0, 2.0, Atom und Kategorien) zur Sitemap hinzu.');
@define('PLUGIN_EVENT_SITEMAP_UNKNOWN_SERVICE', 'unbekannt');
@define('PLUGIN_EVENT_SITEMAP_PERMALINK_WARNING', 'Warnung: Zum Erstellen einer korrekten Sitemap muss das Permalinkplugin in der Konfiguration <b>vor</b> dem sitemap-plugin platziert werden');
@define('PLUGIN_EVENT_SITEMAP_GZIP_SITEMAP', 'Die sitemap.xml mit gzip packen');
@define('PLUGIN_EVENT_SITEMAP_GZIP_SITEMAP_DESC', 'Das sitemap-Protokoll unterstützt gepackte Dateien um Bandbreite zu sparen. Wenn die erstellte Datei Probleme macht kann es helfen diese Option zu deaktivieren. (Aber: Wenn das PHP auf diesem Rechner kein gzip unterstützt, wird automatisch eine ungepackte Version erstellt, solange bis ein PHP mit aktiviertem gzip vorhanden ist. Es ist also im Allgemeinen nicht nötig diese Option zu deaktivieren)');
@define('PLUGIN_EVENT_SITEMAP_GZIP_SITEMAP_DESC', 'Das Sitemap-Protokoll unterstützt gepackte Dateien, um Bandbreite zu sparen. Wenn die erstellte Datei Probleme macht, kann es helfen, diese Option zu deaktivieren. (Wenn das installierte PHP kein gzip unterstützt, wird automatisch eine ungepackte Version erstellt. Dafür ist es also nicht nötig, diese Option zu deaktivieren)');
@define('PLUGIN_EVENT_SITEMAP_TYPES_TO_ADD', 'URL-Typen');
@define('PLUGIN_EVENT_SITEMAP_TYPES_TO_ADD_DESC', 'Definiert die URL-Typen, die zur Sitemap hinzugefügt werden sollen.');
@define('PLUGIN_EVENT_SITEMAP_TYPES_TO_ADD_FEEDS', 'Feeds');
@ -55,5 +54,10 @@
@define('PLUGIN_EVENT_SITEMAP_GNEWS_SUBSCRIPTION', 'GoogleNews: Inhaltsklassifizierung');
@define('PLUGIN_EVENT_SITEMAP_GNEWS_SUBSCRIPTION_DESC', '');
@define('PLUGIN_EVENT_SITEMAP_GENRES', 'GoogleNews: Kategorien');
@define('PLUGIN_EVENT_SITEMAP_GENRES_DESC', 'Die hier gewählten Kategorien gelten für alle Blog-Einträge. Sie sollten daher eine Kategorie wählen, die auf alle Einträge passt. Um die Option auf Eintrags-Ebene festzulegen, müssen Sie ein CustomProperty-Feld namens "gnews_genre" anlegen, in diesem Feld können Sie eine kommagetrennte Liste von Kategorien eintragen.');
@define('PLUGIN_EVENT_SITEMAP_GENRES_DESC', 'Die hier gewählten Kategorien gelten für alle Blog-Einträge. Sie sollten daher eine Kategorie wählen, die auf alle Einträge passt. Um die Option auf Eintrags-Ebene festzulegen, müssen Sie ein CustomProperty-Feld namens "gnews_genre" anlegen; in diesem Feld können Sie dann eine kommagetrennte Liste von Kategorien eintragen.');
@define('PLUGIN_EVENT_SITEMAP_NONE', 'Keine Kategorie');
@define('PLUGIN_EVENT_SITEMAP_NEWS_SINGLE', 'GoogleNews-Sitemap mit normaler Sitemap zusammenführen?');
@define('PLUGIN_EVENT_SITEMAP_NEWS_SINGLE_DESC', 'Diese Option hat nur dann eine Bedeutung, wenn das GoogleNews-Format eingebettet wird. Ist sie aktiviert, enthält die normale sitemap.xml-Datei GoogleNews-Formatierungen; sonst enthält nur die Datei news_sitemap.xml GoogleNews-Formatierungen. Bei mehr als 1.000 Blogeinträgen muss diese Option deaktiviert werden, damit die sitemap.xml-Datei von Google korrekt ausgewertet werden kann.');
@define('PLUGIN_EVENT_SITEMAP_AVOID_NOINDEX', '"Noindex"-Seiten ausnehmen');
@define('PLUGIN_EVENT_SITEMAP_AVOID_NOINDEX_DESC', 'Aktuelle Themes kennzeichnen Übersichtsseiten mit "noindex", damit Suchmaschinen sie nicht indizieren, um die Platzierung in den Suchergebnissen zu verbessern. Diese Option entfernt solche Seiten auch aus der Sitemap, selbst dann, wenn sie hier ausgewählt werden.');

View file

@ -17,13 +17,12 @@
@define('PLUGIN_EVENT_SITEMAP_ROBOTS_TXT', 'Alternativ kann sie auch <a href="http://googlewebmastercentral-de.blogspot.com/2007/04/was-gibts-neues-bei-sitemapsorg.html">in die robots.txt eingefügt werden</a>.<br/>');
@define('PLUGIN_EVENT_SITEMAP_URL', 'URL-Liste für Pings');
@define('PLUGIN_EVENT_SITEMAP_URL_DESC', 'URLs für Pingbacks (%s wird durch URL zur Sitemap ersetzt, verschiedene Einträge werden mit \';\' (Semicolon) getrennt, fall nötig muss ein Semicolon durch \'%3B\' ersetzt werden).');
@define('PLUGIN_EVENT_SITEMAP_URL_DESC', 'URL for pingbacks (%s is replaced with the sitemap-URL, seperate multiple entries with \';\' (semicolon), if you need to enter a ; use \'%3B\').');
@define('PLUGIN_EVENT_SITEMAP_ADDFEEDS', 'Newsfeeds hinzufügen');
@define('PLUGIN_EVENT_SITEMAP_ADDFEEDS_DESC', 'Füge die URLs der Newsfeeds (RSS 0.9, 1.0, 2.0, Atom und Kategorien) zur Sitemap.');
@define('PLUGIN_EVENT_SITEMAP_ADDFEEDS_DESC', 'Füge die URLs der Newsfeeds (RSS 0.9, 1.0, 2.0, Atom und Kategorien) zur Sitemap hinzu.');
@define('PLUGIN_EVENT_SITEMAP_UNKNOWN_SERVICE', 'unbekannt');
@define('PLUGIN_EVENT_SITEMAP_PERMALINK_WARNING', 'Warnung: Zum Erstellen einer korrekten Sitemap muss das Permalinkplugin in der Konfiguration <b>vor</b> dem sitemap-plugin platziert werden');
@define('PLUGIN_EVENT_SITEMAP_GZIP_SITEMAP', 'Die sitemap.xml mit gzip packen');
@define('PLUGIN_EVENT_SITEMAP_GZIP_SITEMAP_DESC', 'Das sitemap-Protokoll unterstützt gepackte Dateien um Bandbreite zu sparen. Wenn die erstellte Datei Probleme macht kann es helfen diese Option zu deaktivieren. (Aber: Wenn das PHP auf diesem Rechner kein gzip unterstützt, wird automatisch eine ungepackte Version erstellt, solange bis ein PHP mit aktiviertem gzip vorhanden ist. Es ist also im Allgemeinen nicht nötig diese Option zu deaktivieren)');
@define('PLUGIN_EVENT_SITEMAP_GZIP_SITEMAP_DESC', 'Das Sitemap-Protokoll unterstützt gepackte Dateien, um Bandbreite zu sparen. Wenn die erstellte Datei Probleme macht, kann es helfen, diese Option zu deaktivieren. (Wenn das installierte PHP kein gzip unterstützt, wird automatisch eine ungepackte Version erstellt. Dafür ist es also nicht nötig, diese Option zu deaktivieren)');
@define('PLUGIN_EVENT_SITEMAP_TYPES_TO_ADD', 'URL-Typen');
@define('PLUGIN_EVENT_SITEMAP_TYPES_TO_ADD_DESC', 'Definiert die URL-Typen, die zur Sitemap hinzugefügt werden sollen.');
@define('PLUGIN_EVENT_SITEMAP_TYPES_TO_ADD_FEEDS', 'Feeds');
@ -55,5 +54,10 @@
@define('PLUGIN_EVENT_SITEMAP_GNEWS_SUBSCRIPTION', 'GoogleNews: Inhaltsklassifizierung');
@define('PLUGIN_EVENT_SITEMAP_GNEWS_SUBSCRIPTION_DESC', '');
@define('PLUGIN_EVENT_SITEMAP_GENRES', 'GoogleNews: Kategorien');
@define('PLUGIN_EVENT_SITEMAP_GENRES_DESC', 'Die hier gewählten Kategorien gelten für alle Blog-Einträge. Sie sollten daher eine Kategorie wählen, die auf alle Einträge passt. Um die Option auf Eintrags-Ebene festzulegen, müssen Sie ein CustomProperty-Feld namens "gnews_genre" anlegen, in diesem Feld können Sie eine kommagetrennte Liste von Kategorien eintragen.');
@define('PLUGIN_EVENT_SITEMAP_GENRES_DESC', 'Die hier gewählten Kategorien gelten für alle Blog-Einträge. Sie sollten daher eine Kategorie wählen, die auf alle Einträge passt. Um die Option auf Eintrags-Ebene festzulegen, müssen Sie ein CustomProperty-Feld namens "gnews_genre" anlegen; in diesem Feld können Sie dann eine kommagetrennte Liste von Kategorien eintragen.');
@define('PLUGIN_EVENT_SITEMAP_NONE', 'Keine Kategorie');
@define('PLUGIN_EVENT_SITEMAP_NEWS_SINGLE', 'GoogleNews-Sitemap mit normaler Sitemap zusammenführen?');
@define('PLUGIN_EVENT_SITEMAP_NEWS_SINGLE_DESC', 'Diese Option hat nur dann eine Bedeutung, wenn das GoogleNews-Format eingebettet wird. Ist sie aktiviert, enthält die normale sitemap.xml-Datei GoogleNews-Formatierungen; sonst enthält nur die Datei news_sitemap.xml GoogleNews-Formatierungen. Bei mehr als 1.000 Blogeinträgen muss diese Option deaktiviert werden, damit die sitemap.xml-Datei von Google korrekt ausgewertet werden kann.');
@define('PLUGIN_EVENT_SITEMAP_AVOID_NOINDEX', '"Noindex"-Seiten ausnehmen');
@define('PLUGIN_EVENT_SITEMAP_AVOID_NOINDEX_DESC', 'Aktuelle Themes kennzeichnen Übersichtsseiten mit "noindex", damit Suchmaschinen sie nicht indizieren, um die Platzierung in den Suchergebnissen zu verbessern. Diese Option entfernt solche Seiten auch aus der Sitemap, selbst dann, wenn sie hier ausgewählt werden.');

View file

@ -58,3 +58,5 @@
@define('PLUGIN_EVENT_SITEMAP_NEWS_SINGLE', 'Merge GoogleNews sitemap with normal sitemap?');
@define('PLUGIN_EVENT_SITEMAP_NEWS_SINGLE_DESC', 'This option only applies if you have enabled GoogleNews content. If enabled, the normal sitemap.xml file will contain GoogleNews markup. When disabled, only the news_sitemap.xml file will contain GoogleNews formatted data. If you have more than then allowed 1000 blog articles, you must disable this option to not confuse the GoogleSpiders with your "normal" sitemap.');
@define('PLUGIN_EVENT_SITEMAP_AVOID_NOINDEX', 'Avoid Noindex Pages');
@define('PLUGIN_EVENT_SITEMAP_AVOID_NOINDEX_DESC', 'Modern themes will set overview pages to noindex, to improve search engine placements. This option removes those pages from the sitemap as well, even if they are selected below.');

View file

@ -30,7 +30,7 @@ class serendipity_event_google_sitemap extends serendipity_event {
$propbag->add('name', PLUGIN_EVENT_SITEMAP_TITLE);
$propbag->add('description', PLUGIN_EVENT_SITEMAP_DESC);
$propbag->add('author', 'Boris');
$propbag->add('version', '0.59');
$propbag->add('version', '0.60');
$propbag->add('event_hooks', array(
'backend_publish' => true,
'backend_save' => true,
@ -39,7 +39,7 @@ class serendipity_event_google_sitemap extends serendipity_event {
));
$propbag->add('stackable', false);
$propbag->add('groups', array('FRONTEND_EXTERNAL_SERVICES'));
$propbag->add('configuration', array('report', 'url', 'gzip_sitemap', 'types_to_add', 'gnews', 'gnews_single', 'custom', 'custom2', 'gnews_name', 'gnews_subscription', 'gnews_genre'));
$propbag->add('configuration', array('report', 'url', 'gzip_sitemap', 'avoid_noindex', 'types_to_add', 'gnews', 'gnews_single', 'custom', 'custom2', 'gnews_name', 'gnews_subscription', 'gnews_genre'));
$propbag->add('requirements', array('serendipity' => '0.8'));
}
@ -64,6 +64,12 @@ class serendipity_event_google_sitemap extends serendipity_event {
$propbag->add('description', PLUGIN_EVENT_SITEMAP_GZIP_SITEMAP_DESC);
$propbag->add('default', true);
break;
case 'avoid_noindex':
$propbag->add('type', 'boolean');
$propbag->add('name', PLUGIN_EVENT_SITEMAP_AVOID_NOINDEX);
$propbag->add('description', PLUGIN_EVENT_SITEMAP_AVOID_NOINDEX_DESC);
$propbag->add('default', true);
break;
case 'types_to_add':
$types = array(
'sm_feeds' => PLUGIN_EVENT_SITEMAP_TYPES_TO_ADD_FEEDS,
@ -214,6 +220,12 @@ class serendipity_event_google_sitemap extends serendipity_event {
/*! This functions returns whether a URL-type should be added or not */
function should_add($type) {
if (serendipity_db_bool($this->get_config('avoid_noindex', true))) {
// modern themes set overview pages to noindex. We should follow, otherwise google will complain
if ($type == 'sm_categories' || $type == 'sm_authors' || $type == 'sm_archives' || $type == 'sm_tags') {
return false;
}
}
if(!isset($this->types)) {
$this->types = explode('^', $this->get_config('types_to_add'));
}