sitemap.php/feeds.php und Double Content
-
- Posts: 48
- Joined: Sun 25. Mar 2007, 01:03
- Contact:
sitemap.php/feeds.php und Double Content
Hallo,
ich sehe folgendes Problem - Die Links in sitemap.php und feeds.php werden mit der aid generiert. Das Ganze ist nett wenn man kein Rewriting einsetzt.
Wenn man aber darauf bedacht ist, für alle Seitenebnen einen Alias zu haben, (damit ein paar Keywords fürs Ranking zusätzlich generiert werden), ist das mit der aid außerst hinderlich da Google beispielsweise 2 Möglichkeiten hat an den Content zu kommen ... einmal über den Strukturebenealias ( /meintoller-alias.phtml ) und einmal über die aid ( /index.php?aid=100 ). Das führt zu einer klassischen "Double Content" Problematik.
Wenn man auf dein Einsatz von sitemap.php nicht verzichten will ( weil es ja auch ziemlich praktisch ist ) aber die DC Sache vermeiden will was macht man an dieser Stelle?
Olli
außerdem - wie seht Ihr die Sache?
ich sehe folgendes Problem - Die Links in sitemap.php und feeds.php werden mit der aid generiert. Das Ganze ist nett wenn man kein Rewriting einsetzt.
Wenn man aber darauf bedacht ist, für alle Seitenebnen einen Alias zu haben, (damit ein paar Keywords fürs Ranking zusätzlich generiert werden), ist das mit der aid außerst hinderlich da Google beispielsweise 2 Möglichkeiten hat an den Content zu kommen ... einmal über den Strukturebenealias ( /meintoller-alias.phtml ) und einmal über die aid ( /index.php?aid=100 ). Das führt zu einer klassischen "Double Content" Problematik.
Wenn man auf dein Einsatz von sitemap.php nicht verzichten will ( weil es ja auch ziemlich praktisch ist ) aber die DC Sache vermeiden will was macht man an dieser Stelle?
Olli
außerdem - wie seht Ihr die Sache?
- marcus@localhorst
- Posts: 815
- Joined: Fri 28. May 2004, 11:31
- Location: localhorst
- Contact:
Das frage ich mich auch gerade
es gibt es ja jetzt mehrere url optionen beim rewriting
aid=123.phtml
12.23.0.0.0.1.0.phtml
alias.phtml
ich hatte bis jetzt keine probleme mit meinen seiten und doppelten inhalten, aber ein kunde legt wert darauf und in dieser angelegenheit (googleindex) kann man kurzfristig nix ändern, sondern man kann nur beobachten.
Kann vielleicht jemand eine aussage treffen?
grüße
marcus
es gibt es ja jetzt mehrere url optionen beim rewriting
aid=123.phtml
12.23.0.0.0.1.0.phtml
alias.phtml
ich hatte bis jetzt keine probleme mit meinen seiten und doppelten inhalten, aber ein kunde legt wert darauf und in dieser angelegenheit (googleindex) kann man kurzfristig nix ändern, sondern man kann nur beobachten.
Kann vielleicht jemand eine aussage treffen?
grüße
marcus
- marcus@localhorst
- Posts: 815
- Joined: Fri 28. May 2004, 11:31
- Location: localhorst
- Contact:
Hi,
also ich habe mich kurz mit der sache befasst und tesste jetzt folgendes:
1. robots.txt sieht so aus:
damit schliesse ich erstmal alle index.php?parameter urls aus, die auftauchen können (gleichzeitig auch, die pdf print links auf jeder seite)
evt. könnte man auch noch:
Disallow: /aid=*.phtml
ausschliessen
2. sitemap.php habe ich die linkgenerierung geändert, wie es am häufigsten vorkommt:
gerade bei punkt 2 habe ich im moment keine ahnung ob das korrekt so ist (weil die zeile eigendlich auskommentiert war) - aber ich denke schon.
Ansonsten ist die sitemap ja nur ein anhaltspunkt für google, ich denke das wird sowieso alles nochmal gecrawlt.
Bin mal gespannt was das wird...
Wenn noch jemand erfahrungen/ideen mitteilen kann, wäre das sehr schön
grüße
marcus
also ich habe mich kurz mit der sache befasst und tesste jetzt folgendes:
1. robots.txt sieht so aus:
Code: Select all
User-agent: *
Disallow: /index.php?
Disallow: /feeds.php?
Disallow: /content/images/
Disallow: /image_zoom.php?
Disallow: /img/
Disallow: /picture/
evt. könnte man auch noch:
Disallow: /aid=*.phtml
ausschliessen
2. sitemap.php habe ich die linkgenerierung geändert, wie es am häufigsten vorkommt:
Code: Select all
$_link = PHPWCMS_URL.''.$data["article_cid"].'.'.$data["article_id"].'.0.0.1.0.phtml';
Ansonsten ist die sitemap ja nur ein anhaltspunkt für google, ich denke das wird sowieso alles nochmal gecrawlt.
Bin mal gespannt was das wird...
Wenn noch jemand erfahrungen/ideen mitteilen kann, wäre das sehr schön
grüße
marcus
-
- Posts: 48
- Joined: Sun 25. Mar 2007, 01:03
- Contact:
Also lt sogut wie allen SEO Seiten ist Double Content richtig böse.
Mir ist in den letzten Tagen ein Artikel richtig abgestürzt und ich schieb es auf diese Double Content Problematik. Ob ich damit recht habe oder nicht wird sich Rausstellen.
Der Punkt ist einfach das eine Seite über mehrere Wege ansprechbar ist.
Die Sitemap ist wie der Name schon sagt ein "Inhaltsverzeichnis" der Webseite - wenn man Google sagt "Nimm die URLs aus sitemap.php und crawle die" wird Google feststellen das ebend dieser Inhalt doppelt auf der Webseite ist (ich hoffe ich habe mich jetzt nicht zu kompliziert ausgedrueckt) - also egal ob und wie ... meiner Meinung nach bleibt es Double Content.
Am besten wäre es wohl wenn URLs so aussehen: http://www.domain.tld/strukturebenenalias/artikelalias wobei die Aliase aus den Überschriften der einzelnen Ebenen/Artikel generiert werden. Es gibt aber "noch" keine Artikelaliasnamen.
However - die Idee mit der robots.txt ist gut aber wohl nicht ausreichend zur Lösung des Problems denke ich.
Auch nutzt die umgeschriebene Sitmap URL-Generierung nichts wenn man Wert auf Aliase legt (Aliasnamen sind Keywords wenn sie per Bindestrich getrennt werden)
Olli
Mir ist in den letzten Tagen ein Artikel richtig abgestürzt und ich schieb es auf diese Double Content Problematik. Ob ich damit recht habe oder nicht wird sich Rausstellen.
Der Punkt ist einfach das eine Seite über mehrere Wege ansprechbar ist.
Die Sitemap ist wie der Name schon sagt ein "Inhaltsverzeichnis" der Webseite - wenn man Google sagt "Nimm die URLs aus sitemap.php und crawle die" wird Google feststellen das ebend dieser Inhalt doppelt auf der Webseite ist (ich hoffe ich habe mich jetzt nicht zu kompliziert ausgedrueckt) - also egal ob und wie ... meiner Meinung nach bleibt es Double Content.
Am besten wäre es wohl wenn URLs so aussehen: http://www.domain.tld/strukturebenenalias/artikelalias wobei die Aliase aus den Überschriften der einzelnen Ebenen/Artikel generiert werden. Es gibt aber "noch" keine Artikelaliasnamen.
However - die Idee mit der robots.txt ist gut aber wohl nicht ausreichend zur Lösung des Problems denke ich.
Auch nutzt die umgeschriebene Sitmap URL-Generierung nichts wenn man Wert auf Aliase legt (Aliasnamen sind Keywords wenn sie per Bindestrich getrennt werden)
Olli
Hallo Ihr's,
zur Ausgangsfrage habe ich momentan keine Antwort parat.
Allerdings habe ich ganz am Anfang meiner Aktivität hier im Forum schon einmal den Begriff "rewrite-faxen" verwendet.
Flip-Flop fand das gar nicht nett.
Würde das auch nur eingeschränkt unter usability o.ä. einordnen wollen. Der Großteil der [normal-]User schaut auf die Seiten, nicht auf die Adresszeile.
Meiner Erfahrung nach ist es das völlig irrelevant bzw. mindestens sekundär. Klar schaut man bei den Sucherebnissen schon auch mal auf den URL [unsereins]. Viel wichtiger, weil aussagefähiger, sind doch title, h1, strong, em und dgl. Das sind ja auch letztlich die entsprechend hervorgehobenen, unübersehbaren Ergebnisse im Listing.
Glaube auch nicht, dass sich Google und Co "an der Nase herumführen lassen" wenn doch die vermeintlichen Unterverzeichnisse physikalisch gar nicht vorhanden sind.
Kenne auch die kundenseitigen Irritationen [grosse Augen]. Insofern bin ich auch prinzipiell an einer Klärung interessiert.
Allerdings fahre ich derzeit mit den WebmasterTools und den dort hinterlegten Sitemaps sehr gut: alle Sites [ohne rewrite-faxen] bis in die letzte Ecke indiziert und ebenso übersichtlich im Ergebnis präsentiert.
(Bezweifle ebenso einen Einfluss auf Ranking in Abhängigkeit vom URL.)
Meine Empfehlung: auf rewrite verzichten und vielmehr die Struktur der Seiten für eine Indizierung optimieren.
Wie gesagt, das ist nicht die Lösung dieser Frage, aber in vielerlei Hinsicht problemloser, denke ich.
Greetz
zur Ausgangsfrage habe ich momentan keine Antwort parat.
Allerdings habe ich ganz am Anfang meiner Aktivität hier im Forum schon einmal den Begriff "rewrite-faxen" verwendet.
Flip-Flop fand das gar nicht nett.
Würde das auch nur eingeschränkt unter usability o.ä. einordnen wollen. Der Großteil der [normal-]User schaut auf die Seiten, nicht auf die Adresszeile.
Meiner Erfahrung nach ist es das völlig irrelevant bzw. mindestens sekundär. Klar schaut man bei den Sucherebnissen schon auch mal auf den URL [unsereins]. Viel wichtiger, weil aussagefähiger, sind doch title, h1, strong, em und dgl. Das sind ja auch letztlich die entsprechend hervorgehobenen, unübersehbaren Ergebnisse im Listing.
Glaube auch nicht, dass sich Google und Co "an der Nase herumführen lassen" wenn doch die vermeintlichen Unterverzeichnisse physikalisch gar nicht vorhanden sind.
Kenne auch die kundenseitigen Irritationen [grosse Augen]. Insofern bin ich auch prinzipiell an einer Klärung interessiert.
Allerdings fahre ich derzeit mit den WebmasterTools und den dort hinterlegten Sitemaps sehr gut: alle Sites [ohne rewrite-faxen] bis in die letzte Ecke indiziert und ebenso übersichtlich im Ergebnis präsentiert.
(Bezweifle ebenso einen Einfluss auf Ranking in Abhängigkeit vom URL.)
Meine Empfehlung: auf rewrite verzichten und vielmehr die Struktur der Seiten für eine Indizierung optimieren.
Wie gesagt, das ist nicht die Lösung dieser Frage, aber in vielerlei Hinsicht problemloser, denke ich.
Greetz
- marcus@localhorst
- Posts: 815
- Joined: Fri 28. May 2004, 11:31
- Location: localhorst
- Contact:
http://googlewebmastercentral-de.blogsp ... ei_08.html
ich halte gescheiten content und gut ausgezeichnete seiten auch für sinnvoller als dieses ganze SEO gedöns, aber manche legen halt wert drauf.
ich halte gescheiten content und gut ausgezeichnete seiten auch für sinnvoller als dieses ganze SEO gedöns, aber manche legen halt wert drauf.
danke für den link, prima info!
einziges problem in diesem zusammenhang und vor kurzem bereits angesprochen worden --> http://www.phpwcms.de/forum/viewtopic.php?t=14772
wäre, dass sich auch bei meinen sites die printansichten "reingemogelt" haben.
In dem Artikel in der "Webmasterzentrale" (siehe Link oben) wird explizit genau dieses Thema (nur kurz) erwähnt, wobei demnach aber eine Möglicheit besteht, die Druckansicht mittels robots.txt zu blockieren. Nur, wie müsste diese Disallow-Zeile aussehen bzw. lauten?????
Hast Du/Ihr ne Vorstellung???
Alternative wäre natürlich auch, die Print-Links rauszuschmeissen und durch PrintPDF (v1.3.3) zu ersetzen.
Des weiteren habe ich den [subjektiven] Eindruck, dass die Sessions beim ersten Seitenaufruf in phpwcms für Google Analytics nicht ganz so optimal sind. So beobachte ich dort zahlreiche Aufrufe, die in der Summierung/Tracking "herausfallen" bzw. außen vor bleiben - jedenfalls auffällig (oft) isoliert "da rum baumeln", so zu sagen.
Bin mir da aber nicht sicher und werde mir das mal genauer anschauen [müssen].
Erfreulich ist insofern (seit v.1.3.3), dass man dediziert jedem Artikel einen Titel [zusätzlich zum <h1>-Tag] vergeben kann --> Seitentitel. Die Eingaben dort überschreiben das (ursprünglich einmalig) zentral festgelegte Schema: SITE | CATEGORY | (artikel)TITLE
Greetz
einziges problem in diesem zusammenhang und vor kurzem bereits angesprochen worden --> http://www.phpwcms.de/forum/viewtopic.php?t=14772
wäre, dass sich auch bei meinen sites die printansichten "reingemogelt" haben.
In dem Artikel in der "Webmasterzentrale" (siehe Link oben) wird explizit genau dieses Thema (nur kurz) erwähnt, wobei demnach aber eine Möglicheit besteht, die Druckansicht mittels robots.txt zu blockieren. Nur, wie müsste diese Disallow-Zeile aussehen bzw. lauten?????
Hast Du/Ihr ne Vorstellung???
Alternative wäre natürlich auch, die Print-Links rauszuschmeissen und durch PrintPDF (v1.3.3) zu ersetzen.
Des weiteren habe ich den [subjektiven] Eindruck, dass die Sessions beim ersten Seitenaufruf in phpwcms für Google Analytics nicht ganz so optimal sind. So beobachte ich dort zahlreiche Aufrufe, die in der Summierung/Tracking "herausfallen" bzw. außen vor bleiben - jedenfalls auffällig (oft) isoliert "da rum baumeln", so zu sagen.
Bin mir da aber nicht sicher und werde mir das mal genauer anschauen [müssen].
Zugegeben, da habe ich bislang ebenfalls aus genau diesem Grund auch immer "penibelst" drauf geachtet.Olli_another_one wrote:Wenn man aber darauf bedacht ist, für alle Seitenebnen einen Alias zu haben, (damit ein paar Keywords fürs Ranking zusätzlich generiert werden)...
Erfreulich ist insofern (seit v.1.3.3), dass man dediziert jedem Artikel einen Titel [zusätzlich zum <h1>-Tag] vergeben kann --> Seitentitel. Die Eingaben dort überschreiben das (ursprünglich einmalig) zentral festgelegte Schema: SITE | CATEGORY | (artikel)TITLE
Greetz
- marcus@localhorst
- Posts: 815
- Joined: Fri 28. May 2004, 11:31
- Location: localhorst
- Contact:
google hat in seinen webmaster/sitemap tools ein - tool eben - um die einträge der robots.txt auf spezielle URLS zu prüfen, wenn du einen account hast dort, teste das mal.
Das müsste funktionieren:
Wie in dem anderen Thread beschrieben, ich bevorzuge es die extra printseite aussen vor zu lassen und die seite über die browserdruckfunktion und nem extra stylesheet ausdrucken zu lassen.
Wenn man das nicht möchte, dann müsste man in die printansicht entweder ein <meta noindex> (also das meta tag für robots ) in den header schreiben (da die index.php genutzt wird, muss man halt den parameter prüfen und wenn print=1 dann das Tag in den header einfügen. kann man über frontend_render machen oder im template mit [PHP] - behaupte ich jetzt kühn.
Alternativ kann man halt den printlink in einen onclick link ändern oder das von google eingeführte rel="nofollow" attribut.
ich nehme an, google mag die printansichten, weil da kein großartiger html-firlefanz drin steht, sondern nur der wichtige content.
für die sessionid beim ersten aufruf, kannst du den php.ini wert
session.use_trans_sid off setzen.
(in der .htaccess mit php_flag session.use_trans_sid off oder in php mit ini_set("session.use_trans_sid","off"))
dabei wird keine sessionid mehr an die url angehängt, wenn cookies ausgeschalten sind (un beim ersten aufruf auch nicht mehr).
ich denke das beeinträchtigt die funktion deiner seite nicht, ausser du arbeitest im fronend mit sessions um - was weiss ich - benutzereingaben zu speichern (beim warenkorb hatte ich mich mit der thematik rumgeschlagen)
- nochbesser in version 1.3.3 ist, das man die reinfolge der TITLE eingaben im Seitenlayout ändern kann, also in "Artikeltitel | Cat | Sitename"
das ist meines erachtens besser, weil der artikeltitel auch wirklich in den Ergebnissen auftaucht und nicht am anfang immer der gleiche Sitename - der oftmals sehr lang gewählt wird )
so, das ist jetzt alles was ich dazui weiss
grüße
marcus
Das müsste funktionieren:
Code: Select all
Disallow: index.php?*print*
Wenn man das nicht möchte, dann müsste man in die printansicht entweder ein <meta noindex> (also das meta tag für robots ) in den header schreiben (da die index.php genutzt wird, muss man halt den parameter prüfen und wenn print=1 dann das Tag in den header einfügen. kann man über frontend_render machen oder im template mit [PHP] - behaupte ich jetzt kühn.
Alternativ kann man halt den printlink in einen onclick link ändern oder das von google eingeführte rel="nofollow" attribut.
ich nehme an, google mag die printansichten, weil da kein großartiger html-firlefanz drin steht, sondern nur der wichtige content.
für die sessionid beim ersten aufruf, kannst du den php.ini wert
session.use_trans_sid off setzen.
(in der .htaccess mit php_flag session.use_trans_sid off oder in php mit ini_set("session.use_trans_sid","off"))
dabei wird keine sessionid mehr an die url angehängt, wenn cookies ausgeschalten sind (un beim ersten aufruf auch nicht mehr).
ich denke das beeinträchtigt die funktion deiner seite nicht, ausser du arbeitest im fronend mit sessions um - was weiss ich - benutzereingaben zu speichern (beim warenkorb hatte ich mich mit der thematik rumgeschlagen)
- nochbesser in version 1.3.3 ist, das man die reinfolge der TITLE eingaben im Seitenlayout ändern kann, also in "Artikeltitel | Cat | Sitename"
das ist meines erachtens besser, weil der artikeltitel auch wirklich in den Ergebnissen auftaucht und nicht am anfang immer der gleiche Sitename - der oftmals sehr lang gewählt wird )
so, das ist jetzt alles was ich dazui weiss
grüße
marcus
nee, aber das offenbar:marcus@localhorst wrote:...Das müsste funktionieren:...Code: Select all
Disallow: index.php?*print*
Code: Select all
Disallow: *print
Code: Select all
Googlebot meint dazu:
http://www.mysite-xyz.de/ Allowed
http://www.mysite-xyz.de/index.php?aid=114&print=1 Blocked by line 4: Disallow: *print
stimmt!!marcus@localhorst wrote:...nochbesser in version 1.3.3 ist, das man die reinfolge der TITLE eingaben im Seitenlayout ändern kann, also in "Artikeltitel | Cat | Sitename"
das ist meines erachtens besser, weil der artikeltitel auch wirklich in den Ergebnissen auftaucht und nicht am anfang immer der gleiche Sitename - der oftmals sehr lang gewählt wird )...
prima, das war's doch was ich brauchte...marcus@localhorst wrote:...so, das ist jetzt alles was ich dazui weiss
Vielen Dank erst einmal hierfür.
Bzgl. Sessions etc. teste ich mal weiter.
Greetz
Das ist ein interessanter Hinweis von Euch gewesen. Man müsste in der Abfrage die Tabelle actriclecat mit einbinden.
Des selbe Problem hat man im Teaser - dieser wird auch mit der id=... ausgegeben.
Mir wäre schon geholfen, wenn man das gesamte phpWCMS da einfach auf eine Linie bringen könnte. zB alle Artikel mit ihrer ID !
Ideal wäre natürlich der Name.
PS.: Jetzt, wo die sitemap.php von sämtlichen Sachmaschinen über robots.txt ausgelesen wird, ist das umso wichtiger einen einheitliche Linie zu bekommen.
ob phtml oder index?... wäre ja auch egal.
Des selbe Problem hat man im Teaser - dieser wird auch mit der id=... ausgegeben.
Mir wäre schon geholfen, wenn man das gesamte phpWCMS da einfach auf eine Linie bringen könnte. zB alle Artikel mit ihrer ID !
Ideal wäre natürlich der Name.
PS.: Jetzt, wo die sitemap.php von sämtlichen Sachmaschinen über robots.txt ausgelesen wird, ist das umso wichtiger einen einheitliche Linie zu bekommen.
ob phtml oder index?... wäre ja auch egal.
Ich habe im Skript sitemap.php die 2. Tabellenabfrage ergänzt.
Jetzt kommen alle Sitemaps mit "alias.phtml" heraus. Bis auf aid=1, die wird auf die Domäne umgeschrieben.
Den Google ist es anscheinend auch recht ...
Jetzt kommen alle Sitemaps mit "alias.phtml" heraus. Bis auf aid=1, die wird auf die Domäne umgeschrieben.
Den Google ist es anscheinend auch recht ...
Code: Select all
<?php
/*************************************************************************************
Copyright notice
(c) 2002-2007 Oliver Georgi (oliver@phpwcms.de) // All rights reserved.
This script is part of PHPWCMS. The PHPWCMS web content management system is
free software; you can redistribute it and/or modify it under the terms of
the GNU General Public License as published by the Free Software Foundation;
either version 2 of the License, or (at your option) any later version.
The GNU General Public License can be found at http://www.gnu.org/copyleft/gpl.html
A copy is found in the textfile GPL.txt and important notices to the license
from the author is found in LICENSE.txt distributed with these scripts.
This script is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.
This copyright notice MUST APPEAR in all copies of the script!
alias function included Horner Peter 2007/05/24
*************************************************************************************/
// build Google Sitemap based on available articles
require_once ('config/phpwcms/conf.inc.php');
// set neccessary charset
$phpwcms["charset"] = 'utf-8';
require_once ('include/inc_lib/default.inc.php');
require_once (PHPWCMS_ROOT.'/include/inc_lib/dbcon.inc.php');
require_once (PHPWCMS_ROOT.'/config/phpwcms/conf.indexpage.inc.php');
require_once (PHPWCMS_ROOT.'/include/inc_lib/general.inc.php');
require_once (PHPWCMS_ROOT.'/include/inc_front/front.func.inc.php');
// start XML
echo '<?xml version="1.0" encoding="utf-8"?>'.LF;
echo '<urlset xmlns="http://www.google.com/schemas/sitemap/0.84"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84
http://www.google.com/schemas/sitemap/0.84/sitemap.xsd">'.LF;
echo ' <!-- Google Sitemap, http://www.google.com/webmasters/sitemaps/ -->'.LF.LF;
//reads complete structure as array
$struct = get_struct_data();
// fallback value when no article available
$base = true;
// now retrieve all articles
$sql = "SELECT article_id, article_cid, DATE_FORMAT(article_tstamp, '%Y-%m-%d') AS article_tstamp, ";
$sql .= "article_title, article_redirect, article_aliasid ";
$sql .= "FROM ".DB_PREPEND."phpwcms_article WHERE ";
$sql .= "article_public=1 AND article_aktiv=1 AND article_deleted=0 AND article_nosearch!='1' AND ";
$sql .= "article_nositemap=1 AND article_begin < NOW() AND article_end > NOW() ";
$sql .= "ORDER BY article_tstamp DESC";
if($result = mysql_query($sql, $db)) {
while($data = mysql_fetch_assoc($result)) {
// first proof if this article is within an "public" structure section
$_CAT = $struct[$data['article_cid']];
if($_CAT['acat_regonly'] || $_CAT['acat_nosearch']=='1' || !$_CAT['acat_nositemap']) {
// no it is no public article - so jump to next entry
continue;
}
// now add article URL to Google sitemap
//$_link = PHPWCMS_URL.'index.php?id='.$data["article_cid"].','.$data["article_id"].',0,0,1,0';
//Horner edit
$sql_name = "SELECT acat_alias FROM ".DB_PREPEND."phpwcms_articlecat WHERE acat_id=".$data["article_cid"];
$result_name = mysql_query($sql_name,$db);
if(($datensatz = mysql_fetch_row($result_name)) && !($datensatz[0] == "")) {
$_link = PHPWCMS_URL.$datensatz[0].'.phtml';
} else {
if($data["article_id"] == 1) {
$_link = PHPWCMS_URL;
} else {
$_link = PHPWCMS_URL.'aid='.$data["article_id"].'.phtml';
}
}
//Horner edit end
echo ' <url>'.LF;
echo ' <loc>'.$_link.'</loc>'.LF;
echo ' <lastmod>'.$data["article_tstamp"].'</lastmod>'.LF;
echo ' </url>'.LF;
// yes we have a minimum of 1 article link
$base = false;
}
}
echo LF.' <!-- try to add custom URLs from INI file... ';
$_addURL = parse_ini_file (PHPWCMS_ROOT.'/config/phpwcms/sitemap.custom.ini', true);
echo '-->'.LF;
if(is_array($_addURL) && count($_addURL)) {
foreach($_addURL as $value) {
$_link = empty($value['url']) ? '' : trim($value['url']);
if(empty($_link)) {
continue;
}
$_lastmod = empty($value['date']) ? '' : trim($value['date']);
if(empty($value['date'])) {
$_lastmod = date('Y-m-d');
}
echo ' <url>'.LF;
echo ' <loc>'.$_link.'</loc>'.LF;
echo ' <lastmod>'.$_lastmod.'</lastmod>'.LF;
echo ' </url>'.LF;
}
} else {
echo ' <!-- ...no custom URL available for inclusion -->'.LF.LF;
}
if($base) {
// just return the main URL
echo ' <url>'.LF;
echo ' <loc>'.PHPWCMS_URL.'</loc>'.LF;
echo ' <lastmod>'.date('Y-m-d').'</lastmod>'.LF;
echo ' </url>'.LF;
}
echo '</urlset>';
?>
Last edited by eh100091 on Tue 30. Sep 2008, 20:53, edited 1 time in total.
- marcus@localhorst
- Posts: 815
- Joined: Fri 28. May 2004, 11:31
- Location: localhorst
- Contact:
hi,
bei deinem script werden jetzt aber nur noch die aliase ausgegeben und keine Artikel mehr - und das doppelt und dreifach, oder ist das nur bei mir so?!
aber abgesehen davon, google listet ja nicht nur deine sitemapeinträge, sondern auch alle anderen seiten, die google irgendwie verfolgen kann und dann hast du deine links auch doppelt und dreifach drin (berichtigt mich wenn das falsch ist) - also hilft es meines erachtens nur, das crawlen für spezielle Seiten/Links zu unterbinden.
grüße
marcus
bei deinem script werden jetzt aber nur noch die aliase ausgegeben und keine Artikel mehr - und das doppelt und dreifach, oder ist das nur bei mir so?!
aber abgesehen davon, google listet ja nicht nur deine sitemapeinträge, sondern auch alle anderen seiten, die google irgendwie verfolgen kann und dann hast du deine links auch doppelt und dreifach drin (berichtigt mich wenn das falsch ist) - also hilft es meines erachtens nur, das crawlen für spezielle Seiten/Links zu unterbinden.
grüße
marcus
-
- Posts: 48
- Joined: Sun 25. Mar 2007, 01:03
- Contact:
super! die erweiterung der sqlabfragen werde ich dann mal einbauen thx.
marcus@localhost - ich denke mal solang die Inhalte hinter einer URL gleich sind und diese Inhalte nur ueber diese einzige URL von Google erreicht werden koennen ist es doch egal wieviel links zu dieser URL existieren - doppelter content ist das doch nicht oder wie meinst du das?
marcus@localhost - ich denke mal solang die Inhalte hinter einer URL gleich sind und diese Inhalte nur ueber diese einzige URL von Google erreicht werden koennen ist es doch egal wieviel links zu dieser URL existieren - doppelter content ist das doch nicht oder wie meinst du das?
- marcus@localhorst
- Posts: 815
- Joined: Fri 28. May 2004, 11:31
- Location: localhorst
- Contact:
ich meine der sinn der sitemap ist mit dem script nicht mehr gegeben.
Die sitemap ist laut google dafür da, auch tief vergrabenen Content an google weiterzuleiten (meinetwegen weil der robot nach einer bestimmten seitentiefe abbricht - oder weil keine direkte verknüpfung der inhalte exsitiert, diese aber trotzdem gelistet werden sollen)
Google folgt den links aus der sitemap.php und findet trotz alledem die verschiedenen Links zu allen anderen seiten, egal ob mit aid, alias oder id.
Die sitemap erleichtert dem bot vielleicht die arbeit, weil er bevor er die ganze site nach links abgrast die liste erstmal abarbeitet, aber trotzdem folgt er noch den einzelnen links in den seiten.
unter umständen listet er euch trotz "aliasierter" sitemap.php die seiten mit den id nummer, ausser man sagt dem bot, "nicht diesen links (mit id oder aid) folgen".
ausserdem enthält die sitemap mit obrigen script nur ein paar links zu den kategorien, aber nicht _alle_ seiten - wie es sinn machen würde für die sitemap.
ich meine das ist kein wirklicher gewinn.
Wenn man google wirklich nur einen definierten Weg auf die Seiten geben will, dann nur in dem man dem bot sagt, was er darf und was nicht.
Ich habe das oben beschrieben und teste das gerade selbst. dabei schliesse ich alle aid seiten vorm bot aus und in der sitemap stehen nur die id angaben 12,45,0,0,0,1,0.
Natürlich wird er auch die aliase der seiten listen, aber das ist mir egal - ich hab bis jetzt noch keine probleme damit gehabt und die gewichtung von keywords im dateiname halte ich auch nicht wirklich für das totschlagargument - aber kunden die davon gehört haben, wollen das gern, warum nicht. wird sich in ein paar wochen zeigen...
viele grüße
marcus
Die sitemap ist laut google dafür da, auch tief vergrabenen Content an google weiterzuleiten (meinetwegen weil der robot nach einer bestimmten seitentiefe abbricht - oder weil keine direkte verknüpfung der inhalte exsitiert, diese aber trotzdem gelistet werden sollen)
Google folgt den links aus der sitemap.php und findet trotz alledem die verschiedenen Links zu allen anderen seiten, egal ob mit aid, alias oder id.
Die sitemap erleichtert dem bot vielleicht die arbeit, weil er bevor er die ganze site nach links abgrast die liste erstmal abarbeitet, aber trotzdem folgt er noch den einzelnen links in den seiten.
unter umständen listet er euch trotz "aliasierter" sitemap.php die seiten mit den id nummer, ausser man sagt dem bot, "nicht diesen links (mit id oder aid) folgen".
ausserdem enthält die sitemap mit obrigen script nur ein paar links zu den kategorien, aber nicht _alle_ seiten - wie es sinn machen würde für die sitemap.
ich meine das ist kein wirklicher gewinn.
Wenn man google wirklich nur einen definierten Weg auf die Seiten geben will, dann nur in dem man dem bot sagt, was er darf und was nicht.
Ich habe das oben beschrieben und teste das gerade selbst. dabei schliesse ich alle aid seiten vorm bot aus und in der sitemap stehen nur die id angaben 12,45,0,0,0,1,0.
Natürlich wird er auch die aliase der seiten listen, aber das ist mir egal - ich hab bis jetzt noch keine probleme damit gehabt und die gewichtung von keywords im dateiname halte ich auch nicht wirklich für das totschlagargument - aber kunden die davon gehört haben, wollen das gern, warum nicht. wird sich in ein paar wochen zeigen...
viele grüße
marcus