2010-03-15 5 views
0

J'ai un peu de mal à comprendre comment faire celui-ci.Remplacer les liens détectés dans un HTML avec d'autres liens en utilisant JS

Voici le scénario. Mon site e-commerce a un blog avec beaucoup de contenu, faisant la promotion des produits que je vends, les relisant, etc. 99% des articles sur le blog renvoient aux produits dont ils parlent. Je vais changer l'adresse URL où se trouve mon système de commerce électronique (e-commerce). Par conséquent mon blog va finir par envoyer des gens à beaucoup de 404 pages.

L'idée que j'ai eu est de pouvoir inclure un fichier JS qui sera chargé, scanner le document pour les liens existants puis, si trouvé, les échanger avec ceux qui sont maintenant corrects.

J'espère que cela a du sens.

Cheers, Jim


+1

Ceci est probablement une mauvaise idée, car plusieurs fois, les utilisateurs auront JavaScript désactivé. – Warty

+0

CTRL + F http://oldurl.com/link/link/link - remplacer par http://newurl.com/link/link/link - Je mérite une flamme pour cela, mais il peut faire ce dont vous avez besoin xD évidemment nombre infini de cas où cela ne fonctionnera pas ^^ – Sphvn

Répondre

5

Ceci est assez simple à faire dans jQuery; mais une mauvaise idée à plusieurs niveaux. Le premier étant comme dit ItzWarty, les utilisateurs avec JavaScript désactivé obtiendront toujours 404.

Un autre étant que les robots Web tels que GoogleBot n'exécutent pas JavaScript, donc ils vont voir les 404 trop ruiner votre référencement; lors de la migration du contenu vers une nouvelle URL, vous devez rediriger (déplacer définitivement) les anciennes URL vers le nouvel emplacement si vous souhaitez conserver vos classements de recherche.

+1

Rediriger les anciens liens vers les nouvelles URL du côté serveur est la meilleure façon de procéder. Si tout se passe de votre côté (côté serveur), vous pouvez être sûr que la redirection s'est déroulée correctement, sans avoir à vous soucier de savoir si le Javascript a été exécuté ou non. – bta

+0

J'aime que vous avez abordé les web araignées et SEO. Je n'y avais pas pensé du tout, et avec un site à but lucratif, c'est un facteur critique. –

3

Si vous voulez créer le JavaScript à rediriger, pourquoi ne pas simplement créer un processus batch pour mettre à jour tous ces fichiers/liens.

Je suppose que ce sont des fichiers texte statiques, si elle est pilotée par la base de données, il est également réalisable.

0

Dans vos pages de blog, collez ce simple code à la fin des pages juste avant le tag.

<script type="text/javascript"> 
    var collection = document.getElementsByTagName('a'), 
    old_url = "http://www.myoldurl.com", //place here you old url 
    new_url = "http://www.mynewurl.com", //place here your new url 
    i, len = collection.length; 
    for(i = 0; i < len; ++i) 
     if(collection[i].href) 
     collection[i].href = collection[i].href.replace(old_url, new_url); 
</script> 

Puisque vous utilisez un blog, il vous suffit de coller ce morceau de code une fois pour toutes dans la mise en page/template du blog ainsi le code sera inséré sur chaque page, befor Ethe tag.

Questions connexes