Wie Link-Integrität innerhalb einer Site sichern?

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
WATCHDOG
Regular
Posts: 21
Joined: Wed May 14, 2008 11:04 pm

Wie Link-Integrität innerhalb einer Site sichern?

Post by WATCHDOG »

Hallo, gibt es irgendwas, womit ich die Verlinkung innerhalb einer Site konsistent halten kann?

Wenn man eine Site bauen will mit sehr vielen Querverweisen innerhalb der Site, kann es vorkommen, das ein Artikel gelöscht wird, aber immer noch x Artikel darauf verweisen. Das ist doof.

das Konzept ist ja bekannt als "referentielle Integrität" und gibt es bei Datenbanken schon lange - wenn man also eine Datenbank als Speichermedium benutzt, bekommt man dieses Feature sowieso geschenkt, man muss es nur nutzen.

Gibt es sowas für s9y?
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Wie Link-Integrität innerhalb einer Site sichern?

Post by garvinhicking »

Hi!

Normalerweise werden in einem blog keine Artikel gelöscht. Unter welchen Umständen kann das bei Dir passieren?
das Konzept ist ja bekannt als "referentielle Integrität" und gibt es bei Datenbanken schon lange - wenn man also eine Datenbank als Speichermedium benutzt, bekommt man dieses Feature sowieso geschenkt, man muss es nur nutzen.
Nunja, eigentlich ist das ein ganzes technisches Konzept was nur dann gilt wenn man mit Datenbankbeziehungen arbeitet. Links arbeiten aber mit HTML-Code, sind insofern also definitiv keine "Gratisleistung". Da muss man schon ein Plugin konzipieren.

Es gibt das "Track Exits" plugin für s9y was Links referenziert mit ID. Hier könnte man relativ leicht eine Integritätscheck nachprogrammieren, wenn man das benötigt.

Ich persönlich arbeite lieber mit Spider-Bots und lasse von denen meine Seite checken und tote Links reporten. Das hat den Vorteil dass ich auch von toten externen Links erfahre.

Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
WATCHDOG
Regular
Posts: 21
Joined: Wed May 14, 2008 11:04 pm

Post by WATCHDOG »

Mit dem Löschen hast Du natürlich recht, normalerweise löscht man eher selten was. Bei dem mir vorliegenden Spezialfall handelt es sich um Ankündigungen von Veranstaltungen, die von mehreren Seiten referenziert werden sollen, aber irgendwann wieder verschwinden - da kann man dem Autor noch zumuten, das selber alles wieder anzupassen, aber eine Hilfe, die darauf hinweist, dass es noch einen toten Link gibt, wäre ok. Das erwähnte Plugin schau ich mir mal an, danke für den Tip.

Genauer betrachtet wäre auch eher ein Updaten von Links brauchbar für den erwähnten Spezialfall - alle Links auf eine bereits vergangene Veranstaltung sollten dann automatisch auf den Eintrag mit der neuen Veranstaltung verweisen... das führt mich zu der Frage: kann ich mit s9y solche internen redirects irgendwie verwalten (lassen) oder mach ich das besser mit redirects in einer .htaccess Datei? Letzteres hätte den Nachteil, dass ich dann immer selber ran muss... jaja, ich versuche s9y für etwas mehr als einen Blog zu "missbrauchen" - "aufbohren" wäre besser gesagt - aber s9y wäre schon eine verdammt gute Ausgangsbasis, hab keine Zeit, alle Räder neu zu erfinden, und massive Bloatware einzusetzen, die 80% Overhead mitbringt wäre total overdosed... s9y wäre schon das richtige, muss nur ein paar Details klären.

Was für Spider Bots benutzt Du zum checken der Links? Gibt es da ein besonders empfehlenswertes Projekt?

Danke für die Hinweise - ist leider ein No-Budget Projekt, sonst würd ich einen Auftrag für Dich daraus backen...
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

Diese Veranstaltungssache klingt für mich nach einem sehr speziellen Anwendungsfall. Hast du etwas PHP-Kenntnis? Man könnte ein Ereignisplugin schreiben mit dem Du dann Veranstaltungslinks einbinden kannst. Der PHP-Code prüft dann einfach ob's die Veranstaltung nicht gibt, so dass der Link immer nur von PHP-Code ausgegeben wird.

Als Beispiel dafür könnte man sich ganz einfache markupplugins wie z.b. nl2br ansehen und es so modifzieren, dass die atuoren anstelle von links nur sowas eingeben: <veranstaltung id="1">. Das eigene plugin sucht dann nach solchen Tags, macht Datenbankabfragen, und wenn es die veranstaltung noch gibt wird ein Link ausgegeben, sonst halt keiner.
Was für Spider Bots benutzt Du zum checken der Links? Gibt es da ein besonders empfehlenswertes Projekt?
Puh, mein letzter Versuch ist so ungefähr 2-3 Jahre her. Damals habe ich Link Sleuth verwendet. Das war sehr tricky einzurichten, hat aber eigentlich gut funktioniert..

viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Post Reply