Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Bestimmte dynamische URLs aus Index entfernen ?

Alles zum Thema: Robots, Spider, Logfile-Auswertung und Reports
holzmichl
PostRank 2
PostRank 2
Beiträge: 30
Registriert: 05.08.2004, 21:52

Beitrag von holzmichl » 31.12.2005, 17:34

Hallo,

ich habe wohl einigen Duplicate Content bei mir entdeckt. Im Code habe ich den Fehler beseitig, so dass die Seiten aus Google Sicht nun nur noch über einen Link erreichbar sind. Nun möchte ich die "falschen" Seiten aus dem Google Index entfernen. Es sieht so aus, ist etwas komplexer:

Die Hauptseite ist index.php

Die "falschen Seiten" sind alle index.php?cat_id=1.....

Wie bekomme ich denn solche Seiten raus ohne die index.php als solche rausnehmen zu lassen, geht das überhaupt mit solchen Dynamischen php-Seiten ?

Danke !

Anzeige von ABAKUS

von Anzeige von ABAKUS »


Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

800XE
PostRank 10
PostRank 10
Beiträge: 5223
Registriert: 02.12.2004, 03:03

Beitrag von 800XE » 31.12.2005, 18:20

function make301($goto)
{
header("HTTP/1.1 301 Moved Permanently");
header("Location: https://$goto"); // Umleitung des Browsers
exit;
}
if ( $_GET[cat_id] == 1 ) make301("www.domain.tld/index.php");


----------------------------------------
und schon ist der Parameter weg ....

s97446
PostRank 3
PostRank 3
Beiträge: 95
Registriert: 12.03.2005, 01:19

Beitrag von s97446 » 16.01.2006, 16:56

800XE hat geschrieben:function make301($goto)
{
header("HTTP/1.1 301 Moved Permanently");
header("Location: https://$goto"); // Umleitung des Browsers
exit;
}
if ( $_GET[cat_id] == 1 ) make301("www.domain.tld/index.php");


----------------------------------------
und schon ist der Parameter weg ....
... und wo müsste das eingefügt werden? Habe nämlich das gleiche Problem ... ;)

Bzw. etwas abgeänderte Problemstellung:

Ich habe sowohl eine

Code: Alles auswählen

index.php?cat_id=1
als auch eine

Code: Alles auswählen

produktname-p-1.html
im Google Index.

Letztere wird dann (wie das bei osCommerce in Verbindung mit einer gewissen SEO Contrib ;) so üblich ist) mittles mod_rewrite in die erste Forum umgewandelt. Ich möchte aber auf Grund des DCs nur die html-Version in Google haben ... und die dynamische raus.

- Wenn ich die dynamische Version nun rauslösche, dürfte die html-Version ja nicht automatisch mit rausfliegen ... da es sich ja für Google um 2 verschiedene Dateien handelt, richtig ...? :roll:
- Falls dem so ist: "Entferne" ich die dynamischen dann auch mittels Deiner function ... oder kann man die irgendwie komplett entfernen (z.B. mit diesem "Google URL Removal Tool" ...!?) - ohne, dass die index.php alleine beeinträchtigt wird? :roll:

Anzeige von ABAKUS

von Anzeige von ABAKUS »

Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

800XE
PostRank 10
PostRank 10
Beiträge: 5223
Registriert: 02.12.2004, 03:03

Beitrag von 800XE » 16.01.2006, 17:19

s97446 hat geschrieben:... und wo müsste das eingefügt werden? Habe nämlich das gleiche Problem ... ;)
in die PHP in welcher es den Parameter gibt welchen es nicht geben soll

s97446
PostRank 3
PostRank 3
Beiträge: 95
Registriert: 12.03.2005, 01:19

Beitrag von s97446 » 16.01.2006, 20:34

800XE hat geschrieben:
s97446 hat geschrieben:... und wo müsste das eingefügt werden? Habe nämlich das gleiche Problem ... ;)
in die PHP in welcher es den Parameter gibt welchen es nicht geben soll
Wenn ich

Code: Alles auswählen

if ( $_GET[cat_id] == 1 ) make301("www.domain.tld/index.php"); 
richtig deute, wir beim Aufruf von

Code: Alles auswählen

index.php?cat_id=1
dann nach

Code: Alles auswählen

www.domain.tld/index.php
umgeleitet!? :roll:

Mein Problem bzw. das, was auch der TE imho hat, ist aber anders gelagert:

Code: Alles auswählen

index.php?cat_id=1
ist eigentlich nur der interne Aufruf einer Kategorie-/Produktseite. Diese URL soll aber nur durch die Umwandlung via RewriteRule aufgerufen werden. Der externe Aufruf erfolgt dann via

Code: Alles auswählen

produktname-p-1.html
- was auch in Google indiziert sein soll.

Würde ich aber jetzt Deine function in die index.php einbauen, dann würde diese ja ohne ihren Paramter aufgerufen werden ... und es wäre ja somit überhaupt nicht mehr klar, welche Produktseite aufgerufen werden soll ...!? :-?

800XE
PostRank 10
PostRank 10
Beiträge: 5223
Registriert: 02.12.2004, 03:03

Beitrag von 800XE » 16.01.2006, 22:54

$_SERVER[REQUEST_URI],
in dieser Umgebungsvariablen steht Pfad+datei wo requestet wurde bzw in der Browser Adresszeile steht

wenn in der Adresszeile steht

Code: Alles auswählen

produktname-p-1.html
und intern zur vergügung steht

Code: Alles auswählen

index.php?cat_id=1

Also,
bei dir steht nie "index.php" in der Adresszeile?
wenn doch, dann ist es eine der Veralteten .....
(wie gesagt, die Rewrite ändert nur das intern verfügbare, das Ausen sichtbare und das in der $_SERVER[REQUEST_URI] bleibt gleich .....

if ( strstr( $_SERVER[REQUEST_URI], 'index.php' ) ) make301("www.domain.tld/");


oder


if ( strstr($_SERVER[REQUEST_URI], 'index.php' )
&& $_GET[cat_id] )
make301("www.domain.tld/");



Also,
entwerder generell wenn "index.php" in der Browserzeile steht auf die Startseite leiten und dadruch Parameter killen
oder zusätzlich noch abfragen ob ein Parameter "cat_id" vorhanden ist

s97446
PostRank 3
PostRank 3
Beiträge: 95
Registriert: 12.03.2005, 01:19

Beitrag von s97446 » 17.01.2006, 00:56

800XE hat geschrieben:Also,
entwerder generell wenn "index.php" in der Browserzeile steht auf die Startseite leiten und dadruch Parameter killen
oder zusätzlich noch abfragen ob ein Parameter "cat_id" vorhanden ist
Achso ... jetzt versteh ich: Die function ist lediglich dazu gedacht, dass jeder Aufruf eines dynamischen Links auf der Startseite landet.
War dann jetzt ein Denkfehler meinerseits: Ich dachte, damit würden die sich in Google befindlichen Links direkt auf die entsprechende (statische) Produktseite weitergeleitet werden ... :wink:

Wobei das Problem, dass die dynamischen Seiten in Google drin sind, erst mal ja noch nicht gelöst wird. (Darauf zielte ja die ursprüngliche Frage des TEs auch ab!?) Da stellt sich mir halt die Frage, ob es nicht Sinn macht, die irgendwie löschen zu lassen ... um einen DuplicateContent-Konflikt zu vermeiden ...?!? :roll:

robo
PostRank 8
PostRank 8
Beiträge: 837
Registriert: 23.12.2003, 19:41
Wohnort: Schwangau

Beitrag von robo » 17.01.2006, 09:45

800XE hat geschrieben:if ( $_GET[cat_id] == 1 ) make301("www.domain.tld/index.php");
Herzlichen Glückwunsch, dieser Schrottcode qualifiziert dich als einen der von unserem Flughafen heiß geliebten Frickler. Warum, erfährst du hier: https://www.php.net/manual/de/language. ... rray.donts

cu, Robo :)

s97446
PostRank 3
PostRank 3
Beiträge: 95
Registriert: 12.03.2005, 01:19

Beitrag von s97446 » 17.01.2006, 10:04

Öhm ... könnten wir - auch wenn es evtl. syntaktische Abweichungen gibt - vielleicht noch kurz bei der Sache an sich bleiben ...? :roll: :wink:

Denn ich sehe die Problemstellung immer noch leicht anders ... :-?

800XE
PostRank 10
PostRank 10
Beiträge: 5223
Registriert: 02.12.2004, 03:03

Beitrag von 800XE » 17.01.2006, 16:29

s97446 hat geschrieben:Denn ich sehe die Problemstellung immer noch leicht anders ... :-?
dann erklär mal ganzganz genau was du wie siehst und wie du es sehen willst bzw wie du es nicht sehen willst.

Wie ich im letzten Post schrieb

überprüfen was requestet wurde
ist es das was es sein soll, was es sein darf
oder ist es etwas was mal gültig war, jetzt aber nicht mehr

wie schon gesagt
Request domain.tld/seite-3.html
durch die RE zu domain.tld/index.php?cat=2
dann seh ich in der $SERVER /seite-3.html und nicht /index.php?cat=2
wurde aber /index.php?cat=2 Requestet dann steht das auch in der $SERVER .... also kann ich entscheiden das in dem Fall ein 301 auf die Startseite ... oder ich bau slebst um un mache einen 301 zu /seite-3.html
oder einen 410 ....

vielleicht noch die Adresse deiner Site

s97446
PostRank 3
PostRank 3
Beiträge: 95
Registriert: 12.03.2005, 01:19

Beitrag von s97446 » 17.01.2006, 22:20

800XE hat geschrieben:überprüfen was requestet wurde
ist es das was es sein soll, was es sein darf
oder ist es etwas was mal gültig war, jetzt aber nicht mehr

wie schon gesagt
Request domain.tld/seite-3.html
durch die RE zu domain.tld/index.php?cat=2
dann seh ich in der $SERVER /seite-3.html und nicht /index.php?cat=2
wurde aber /index.php?cat=2 Requestet dann steht das auch in der $SERVER .... also kann ich entscheiden das in dem Fall ein 301 auf die Startseite ... oder ich bau slebst um un mache einen 301 zu /seite-3.html
oder einen 410 ....
OK, das hab ich im Prinzip jetzt schon mal verstanden 8)
800XE hat geschrieben:
s97446 hat geschrieben:Denn ich sehe die Problemstellung immer noch leicht anders ... :-?
dann erklär mal ganzganz genau was du wie siehst und wie du es sehen willst bzw wie du es nicht sehen willst.
Aaalsooo ...

Nein, erst mal noch eine allgemeine Frage vorweg: Wenn ich eine solche 301er-Weiterleitung einrichte (egal worauf) ... was passiert dann mit den dynamischen URLs in Google? Bleiben die weiterhin drin ... oder fliegen die nach und nach raus (da auf sie selbst ja nicht mehr verlinkt wird + der Spider sie somit nicht mehr findet)? :roll:

800XE
PostRank 10
PostRank 10
Beiträge: 5223
Registriert: 02.12.2004, 03:03

Beitrag von 800XE » 17.01.2006, 23:32

s97446 hat geschrieben:... oder fliegen die nach und nach raus (da auf sie selbst ja nicht mehr verlinkt wird + der Spider sie somit nicht mehr findet)? :roll:
in dem Fall werden sie zu Dateileichen

du könntest den Referer überprüfen ....
...kommt einer von einer Suma, und landet auf einer Site die es nicht mehr geben soll ....
... dann schreibst du die Seite in eine Liste und puplizierst die Links darin dann für x Tage .... damit der Spider wieder einen LInk hat dem er folgen kann

kommt dann der Spider und sieht den 301, erklärt er seiner Datenbank das die Site ungültig ist .....

s97446
PostRank 3
PostRank 3
Beiträge: 95
Registriert: 12.03.2005, 01:19

Beitrag von s97446 » 18.01.2006, 09:18

800XE hat geschrieben:du könntest den Referer überprüfen ....
...kommt einer von einer Suma, und landet auf einer Site die es nicht mehr geben soll ....
... dann schreibst du die Seite in eine Liste und puplizierst die Links darin dann für x Tage .... damit der Spider wieder einen LInk hat dem er folgen kann

kommt dann der Spider und sieht den 301, erklärt er seiner Datenbank das die Site ungültig ist .....
Liste? :roll: Kann grade nicht ganz folgen :-? Muss an der Uhrzeit liegen ... *gääähn* :wink:

Also die Frage ist doch: Wenn der Spider eine dynamischen URL aus seiner eigenen DB folgt (was anderes geht ja nicht, da ansonsten keine dynamischen URLs verlinkt sind), bekommt er die 301. Er "erklärt" - wie Du gesagt hast - seiner DB dann, dass die Seite ungültig ist ... und entfernt sie dann wohl auch daraus!? Oder weist er dem Eintrag einfach die neue URL zu, die er dann über die 301-Weiterleitung erhalten hat? :roll:
Denn danach würde sich ja jetzt richten, ob ich die dynamischen Links einfach nur auf die Startseite umleiten brauche ... oder ob ich sie auf die jeweilige statische Produktseite weiterleiten sollte ...!?

800XE
PostRank 10
PostRank 10
Beiträge: 5223
Registriert: 02.12.2004, 03:03

Beitrag von 800XE » 18.01.2006, 16:45

s97446 hat geschrieben:Also die Frage ist doch: Wenn der Spider eine dynamischen URL aus seiner eigenen DB folgt (was anderes geht ja nicht, da ansonsten keine dynamischen URLs verlinkt sind), bekommt er die 301.
nein, nicht der Spider .... sondern Besucher die was gesucht haben und die Suma dann einen Veraltetetn Link gelifert hat

Damit nicht nur einiege veraltetet Links in die Liste kommen, könntest du die Site: abfrage machen und dann alle veraltetetn Links anklicken (wenn deine Site weniger 1000 Unterseiten hat)
s97446 hat geschrieben:Denn danach würde sich ja jetzt richten, ob ich die dynamischen Links einfach nur auf die Startseite umleiten brauche ... oder ob ich sie auf die jeweilige statische Produktseite weiterleiten sollte ...!?
besser auf die "Ststische" Seite weiterleiten
ich bin hier nicht der Profi .... habe festgestellt das das ganz schön lange dauern kann bis die alten weg sind
es gibt noch den 410 (=GONE) den man senden kann, bedeutet die SIte gibts nicht mehr ... habe hier gelesen das es damit schneller geht .... Problem, habe es getestet und konnte keine Weiterleitung dranhängen ..... also, wenn ein Besucher jetzt einen 410 Bekommen sollte, bekommt er eine leere weise Seite.

s97446
PostRank 3
PostRank 3
Beiträge: 95
Registriert: 12.03.2005, 01:19

Beitrag von s97446 » 18.01.2006, 20:11

Also ... aus Usersicht macht die Weiterleitung auf die jeweilige Produktseite sicher Sinn. Warum ich das Ganze jedoch aus Sicht des Spiders betrachtet habe:

a) Einerseits möchte ich diese dyamischen Seiten natürlich auf lange Sicht betrachtet wieder aus Google draußen haben. Zumindest seh ich irgendwie keine Vorteile ...!? :roll:
Passiert das relativ zuverlässig durch die 301er? :roll:

b) Ich verwende in meinem osCommerce-Shop die SEO URLs Contrib. Deshalb ja auch meine URLs in der Form

Code: Alles auswählen

produktname-p-1.html
Entscheidend für die Umwandlung mittels mod_rewrite ist aber nur die Zahl nach dem p. Soll heissen:

Code: Alles auswählen

ganzandererproduktname-p-1.html
würde mich zur gleichen Seite führen wie die andere URL.

Deshalb eben die Frage, ob sich Google dann die jeweilige URL "merkt", auf die es den 301 bekommt?!? :roll:
Falls dem nicht so ist, könnte ich nämlich einfach meine product_id abfragen (wird ja mit der dynamischen URL übergeben) - und mittels der 301 auf

Code: Alles auswählen

immerdergleichename-p-1.html
weiterleiten.
Würde sich Google hingegen die neue URL merken, dann müsste ich wohl sehen, dass ich da dann auch

Code: Alles auswählen

produktname-p-1.html
hinbekomme. Und das geht dann wohl nur, indem ich mir produktname aus dem SEO Cache in der Datenbank hole ...!? :o

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag