Iedere website wordt – in meerdere of mindere mate – geüpdate, gewijzigd en er worden zelfs hele pagina’s of domeinen verwijderd.
Stel nu dat je website volledig vernieuwd is. De bestandsnamen zijn veranderd (bijv. van index.html naar index.php), etc. Dit is natuurlijk fantastisch: een website moet continu verbeterd worden. Zoekmachines als Google en Bing hebben echter de oude URL’s in hun index opgenomen en sturen bezoekers naar die inmiddels verwijderde of gewijzigde pagina’s toe. Hoe voorkom je dat bezoekers via oude links op een gewijzigde pagina binnen komen en vervolgens een ‘404 not found’ foutmelding te zien krijgen?
De 301 redirect
De beste manier om die pagina’s te redirecten is met de zogenaamde ‘301 redirect’. Wat deze 301 redirect doet, is het automatisch doorsturen naar een nieuwe pagina wanneer het opgeroepen wordt. Dit maakt de 301 redirect de beste, omdat het de bezoeker niet alleen automatisch doorstuurt (dat doet de zogenaamde ‘302 redirect’ ook), maar dit ook op een veilige wijze doet, zonder dat je bang hoeft te zijn voor penalty’s van de zoekmachines.
Heel specifiek gesproken vertelt de 301 redirect de browser of de zoekmachine dat de opgevraagde pagina verhuisd is en het stuurt de cliënt (browser of search engine) automatisch door naar het nieuwe adres. Het vertelt ze, in mensentaal: ‘Hey, deze pagina is verhuisd en hier het nieuwe adres!’. Het zal de jou als lezer vooral gaan om de techniek. Daar gaan we in dit artikel verder op in!
Hieronder vind je verscheidene methoden om een 301 redirect te gebruiken: PHP, ASP, ASP.NET, JSP (JAVA), IIS, ColdFusion, CGI/PERL en tenslotte met .htaccess. De krachtigste techniek betreft gebruikmaking van de zogenaamde apache mod_rewrite module in httpd.conf of .htaccess.
Verschil tussen 301 en 302 redirect:
301 redirect: permanente verwijzing. Verwijst bezoekers en zoekmachines door naar nieuwe URL.
De opgebouwde waarde van de inkomende links wordt overgezet naar de nieuwe URL.
302 redirect: tijdelijke verwijzing. De zoekmachines gaan er van uit dat de oorspronkelijke pagina op korte termijn weer zal werken. De waarde van de inkomende links blijft gekoppeld aan de oorspronkelijke URL.
Met HTML of Javascript redirecten
Je wil weten hoe je met HTML of Javascript moet redirecten? Heel simpel: NIET DOEN!
In het verleden is de zogenaamde ‘meta-tag refresh redirection’ methode vaak misbruikt met als doel om te spammen. Het resultaat hiervan is dat gebruik hiervan afgestraft wordt door de zoekmachines. Niet gebruiken dus.
301 Redirecten met .htaccess
Het grote voordeel van het gebruik van .htaccess is dat redirects op een meta-niveau geregeld kunnen worden. In tegenstelling tot bij de genoemde programmeertalen kan met een .htaccess een gehele directory geredirect worden.
Het werkt als volgt:
- maak een bestand aan, genaamd ‘.htaccess’ (let op punt in het begin!) en plaats deze in de root van de website;
- open het .htaccess bestand in een code-editor (ikzelf gebruik BBEdit op mijn Mac en Notepad++ op Windows)voeg de volgende regels toe aan het .htaccess bestand:
Redirect 301 /oud/oud.html http://www.jouwsite.nl/nieuw.html
Let op: het eerste deel van de statement betreft het pad van het oude bestand VANAF de top level van de site (dus zonder ‘http://www’). Let er ook op dat er één spatie staat tussen deze elementen:
redirect 301 (de instructie dat de pagina permanent verhuisd is)
/oud/oud.html (het oude relatieve pad en naam)
http://www.jij.nl/nieuw.html (nieuwe complete pad en naam)
Let ook op dat het niet verplicht is om pagina’s te redirecten naar een nieuwe domeinnaam. Binnen een domein kan dit ook!
301 Redirecten met Mod_Rewrite
Wanneer iemand naar jouw site linkt, doen ze dat niet altijd op precies die wijze die jouw voorkeur heeft. Als iemand linkt naar http://www.jouwsite.nl en iemand anders linkt naar http://jouwsite.nl, dan zal Google voor iedere URL een aparte pagerank toekennen. Ja, dat is onhandig, maar het is ook waar. Met de code hieronder kan je dat aanpassen. Overigens, diegenen die in Google Webmaster Central gebruik maken van sitemaps, kunnen onder het ‘preferred domain’ submenu aangeven of ze liever hebben dat Google de www-variant of de www-loze variant van hun website indexeert.
RewriteEngine On
rewritecond %{http_host} ^jouwsite.nl
rewriteRule ^(.*) http://www.jouwsite.nl/$1 [R=301,L]
301 Redirecten met IIS
- Gebruik in Internet Services Manager de rechtermuisknop om de map te kiezen die geredirect moet worden;
- selecteer de radio button die zegt ‘a redirection to a URL’;
- vul de pagina in waarnaartoe geredirect gaat worden;
- Check ‘The exact url entered above’ en ‘A permanent redirection for this resource’;
- Klik op ‘Apply’.
301 Redirecten met ColdFusion
Bij de meeste server-side scripting en programmeertalen is het gebruik van 301-redirect vrij eenvoudig.
In Coldfusion werkt het als volgt:
<cfheader statuscode="301" statustext="Moved permanently">
<cfheader name="Location" value="http://www.jouwsite.nl/">
301 Redirecten met PHP
Gebruik de onderstaande code:
<?php
header( "Status: 301 Moved Permanently" );
header( "Location: http://www.jouwsite.nl/" );
exit(0); // dit is optioneel, maar wordt wel aangeraden. Hiermee voorkom je onnodige output
?>
p.s.: de Microsoft server IIS crasht als je de volgende (veelgebruikte) regel gebruikt:
header( "HTTP/1.1 301 Moved Permanently" );
301 Redirecten met ASP
Gebruik de onderstaande code:
<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.jouwsite.nl /"
%>
301 Redirecten met ASP.NET
Gebruik de onderstaande code:
<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.jouwsite.nl /");
}
</script>
301 Redirecten met JSP/JAVA
Gebruik de onderstaande code:
<%
response.setStatus(301);
response.setHeader( "Location", "http://www.jouwsite.nl /" );
response.setHeader( "Connection", "close" );
%>
301 Redirecten met CGI/PERL
Gebruik de onderstaande code:
$q = new CGI;
print $q->redirect(" http://www.jouwsite.nl / ");
301 Redirecten met Ruby/Ruby on Rails
Gebruik de onderstaande code:
def old_action
headers["Status"] = "301 Moved Permanently"
redirect_to "http://www.jouwsite.nl/"
end
Een disclaimer: wij hebben deze technieken in de praktijk gebruikt en vonden de werking ervan bevredigend. Er zijn echter 567897653 manieren waarop het mis kan gaan. Gebruik deze technieken derhalve op eigen risico!
Dit artikel is oorspronkelijk geschreven door Steven Hargrove en vertaald door Ramon.
Dit is een heel mooi artikel, bookmarked!
Compliment !
Ton van Houten
Online Succes
(zal hem op onze linkpagina plaatsen)
Mooie vertaling van de website:
http://www.stevenhargrove.com/redirect-web-pages/
Inderdaad Steef, op ons oude blog stond de verwijzing hier nog bij maar dit is ergens verdwenen met het omzetten. Bedankt voor je melding!
Bedankt, dit is een van de betere artikelen op internet net over 301
@Jan: Dank je wel voor je reactie. Het artikel is in ieder geval redelijk compleet 🙂
[…] hier profiteert http://www.ingbank.nl nauwelijks van. Door één domein te gebruiken en de rest met een 301 redirect naar dit domein door te sturen, wordt de linkwaarde van alle inkomende links op één domein gezet. […]
[…] over te zetten, was het nodig om in een .htaccess bestand voor ieder bericht in een zogenaamd ‘301 redirect statement’ te voorzien. Omdat een weblog als dit zijn meeste verkeer haalt uit Google-zoekopdrachten en […]
[…] Wanneer ik nu zoek in Google op site:www.sharpdesign.nl zie ik alle oude pagina’s terugkomen. Wanneer ik dan op deze resultaten klik krijg ik een 404-error. Dit is uiteraard niet goed! Hoe je een oude pagina moet omleiden leer je hier: 301 redirect Onetomarket blog. […]
Heel goed en bruikbaar artikel, keep on the good work!
[…] bedoeld was doorstuurt naar uw nieuwe adres. Met websites is het niets anders. Door middel van een 301 redirect vertelt u zowel zoekmachines als gebruikers dat uw website verhuisd is en waar ze de nieuwe kunnen […]
Beste allemaal,
wanneer ik mijn .htaccess bestand upload dan gebeurd er niets? Kan het zijn dat dit enige tijd duurt of moet het resultaat direct zichtbaar zijn?
Eerst heb ik een .htaccess bestand gemaakt met .txt erachter, daarna geupload en toen . txt weggehaald, kan dit kloppen?
Handig artikel, tnx!
Is er ook een handige manier om 1000+ url’s om te zetten? Ik ben bezig met m’n weblogs van Blogger naar WordPress over te zetten en bij een van de weblogs heb ik bijna 4000 berichten…
@Teddop: Je werkwijze klopt (qua .txt weghalen). De vraag is alleen of jouw server .htaccess ondersteunt? Heb je een Apache server?
#Arnoud: In .htaccess kun je reguliere expressies gebruiken. Check anders Google even: http://www.google.nl/search?q=regexp+htaccess&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:nl:official&client=firefox-a
Misschien een stomme vraag, maar heb tot nu toe nog nergens het antwoord kunnen vinden: is hetvolgende mogelijk met een 301 redirect?
User gaat naar http://www.domein1.com, maar wordt doorgestuurd naar http://www.domein2.com. Ik wil echter in de browser het domein2.com niet zichtbaar maken, de URL moet http://www.domein1.com blijven.
Bedankt!
Hey Tino,
Wat jij wilt kan wel via allerlei omwegen. Het probleem is dat het zo nagenoeg onzichtbaar wordt voor gebruikers op welk domein ze zich nu bevinden, dit kan nogal onveilige situaties opleveren bijv. met HTTPS of SSL.
Mocht je dit toch willen zou je je site kunnen inframen, maar dit is voor zoekmachines weer een probleem.
Wat is precies het doel wat je wilt bereiken?
[…] adres’ daar heeft de TNT ook iets voor, zo’n verhuisservice… net zoiets als een 301 redirect. Als project manager heb je dan in ieder geval behoorlijk gefaald.Related posts:Waarom je niet […]
Hallo Ramon of andere lezers,
Is het mogelijk om in de 301 .htaccess-manier van werken een uitzondering in te bouwen voor een map? In mijn geval de /lists/ van PHPlist?
Jan
Beste Jan,
Dat is prima mogelijk. Je kan elke URL apart, bepaalde mappen of een compleet domein redirecten.
Als je een beetje handig bent met reguliere expressies is er veel mogelijk.
Ik heb in de .htaccess een redirect staan zoals
Redirect 301 /index.php http://www.domein.nl/home/index.php
Echter nu worden de subdomeinen ook doorgestuurd naar http://www.domein.nl/home/index.php
Dit komt door de slash voor de index.php. Als ik deze echter weghaal, werkt de redirect niet meer. Hebben jullie een oplossing wellicht?
Ik zoek me wezenloos. Ik zit met het probleem dat ik mijn wordpress site http://www.alconon.nl wil omzetten naar gewoon html. De site staat klaar maar ik kan met geen mogelijkheid de omleidingen instellen.
Google geeft aardig wat urls op “alconon” die wil ik graag redirecten.
Weet iemand raad?
Heel mooi artikel , ik kreeg eerst de 301 in php niet aan het werk , nu eindelijk gelukt!
Weet iemand misschien hoe ik zoekmachinevriendelijk mijn andere domeinen kan doorsturen naar mijn hoofddomein maar wel de domeinnaam laten staan in de adresbalk?
Bedankt alvast!
Enkele geïndexeerde sub-domeinen heb ik sinds enkele dagen door gestuurd d.m.v. .htaccess 301 redirect. heeft iemand enig idee hoelang het duurt voordat Google deze 301 redirects verwerkt en dus verwijderd uit de index?
Bedankt! Ik kan aan de slag!
ik zoek mij wezeloos om een redirect te doen naar een intranet pagina volgens http://httpd.apache.org/docs/1.3/misc/rewriteguide.html Retrieve DATA from intranet zou het mogelijk zijn, maar ik krijg een internal server error..
voorbeeldje op de pagina is ook te moeilijk te begrijpen met al die variabelen 🙁 Kan iemand mij helpen?
Ik zit met hetzelfde probleem als Gert. Helaas heeft nog niemand een oplossing gepost, daarom plaats ik de oproep van Gert nog maar een keer:
Reactie van Gert op 14 January 2010 at 12:43
Ik heb in de .htaccess een redirect staan zoals
Redirect 301 /index.php http://www.domein.nl/home/index.php
Echter nu worden de subdomeinen ook doorgestuurd naar http://www.domein.nl/home/index.php
Dit komt door de slash voor de index.php. Als ik deze echter weghaal, werkt de redirect niet meer. Hebben jullie een oplossing wellicht?
@Aad:
Je kan dit voorkomen door het volgende te doen (wel ander stukje code dan de Redirect 301 die in het artikel gebruikt wordt):
RewriteCond %{HTTP_HOST} ^www.domein.nl$ [NC]
RewriteRule ^/index.php http://www.domein.nl/home/index.php [R=301,L]
Op deze manier wordt de redirect alleen uitgevoerd als het om www gaat (let wel, heb de code zoals hierboven niet getest, maar verwacht dat het zo direct werkt).
@Sander;
Bedank! Ik ben er mee aan de slag gegaan maar krijg nog niet het gewenste resultaat.
Wat wil ik precies:
In de ROOT heb ik WordPress 3.0 staan als multiuser. Met wildcard DNS dus geschikt voor subdomeinen. In een aparte map in de ROOT draait een directory.
Nu wil ik dat bezoekers aan http://www.mijn-site.nl geredirect worden naar http://mijn-site.nl en dat die vervolgens geredirect worden naar http://mijn-site.nl/directory/.
Dit is mij tot nu toe welgelukt maar dan worden ook de subdomeinen (van WordPress) zoals http://voorbeeld.mijn-site.nl geredirect naar de directory en dat is nou juist niet de bedoeling.
Heb je misschien nog een oplossing?
@Aad:
Je zult met RewriteCond aan de gang moeten gaan om aan te geven dat het alleen om een bepaalde URL gaat:
RewriteCond %{HTTP_HOST} ^www.mijn-site.nl$ [NC] — in het geval van de eerste redirect
RewriteCond %{HTTP_HOST} ^mijn-site.nl$ [NC] — voor de tweede
Waarbij je nog specifiek kan specificeren dat een bepaalde URL niet geldt voor de onderstaande redirect:
RewriteCond %{HTTP_HOST} !^www.mijn-site.nl$ [NC] — geen www
Dit doe je zoals je hierboven ziet met een “!”.
Hoop dat je daarmee verder komt.
Wederom bedankt Sander, ik ga er nu meteen mee aan de slag.
@Sander en andere belangstellenden:
Na uitproberen en combineren van van vele suggesties, waaronder die van Sander, heb ik met de onderstaande code mijn doel berijkt:
RewriteEngine On
RewriteCond %{REQUEST_URI} !/wp-login.php
RewriteCond %{REQUEST_URI} !/wp-admin/
RewriteCond %{http_host} ^mijn-site.nl
RewriteRule (.*) http://mijn-site.nl/directory/$1 [R=301,L]
RewriteCond %{HTTP_HOST} !^wp-login.php$ [NC]
RewriteCond %{HTTP_HOST} !^wp-admin/$ [NC]
# compress all text & html:
AddOutputFilterByType DEFLATE text/html text/plain text/xml
# uploaded files
RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ – [L]
RewriteRule . index.php [L]
Jeetje, wat een hoop manieren om te re-directen. Kan het ook met html?
Nee, in HTML (Meta redirects) of JavaScript kan je bezoekers doorsturen, maar zoekmachines reageren hier niet op. Het is daarom niet aan te raden dit te gebruiken.
[…] je bezoekers wilt verwijzen naar een andere URL, wordt doorgaans een 301 redirect gebruikt. Niet doen! Zoekmachines zien dit als een reden om deze verwijzing te volgen en de nieuwe […]
[…] je bezoekers wilt verwijzen naar een andere URL, wordt doorgaans een 301 redirect gebruikt. Niet doen! Zoekmachines zien dit als een reden om deze verwijzing te volgen en de nieuwe […]
Mooi! Maar als google webmaster gebruiker zou je toch ook alleen voor de met of zonder www versie kunnen kiezen, toch?
Je kan in Google Webmaster Tools inderdaad instellen welke versie in de index moet verschijnen. Echter wil je als website er ook voor zorgen dat linkwaarde wordt doorgestuurd naar de actieve versie. Dus je wilt altijd nog redirecten.
Bedankt Sander! Ik denk dat het dan beter is om het zelf te doen en niet aan Google over te laten. Niet dat mijn site op dit moment een PR heeft maar toch…
Precies, het is in dit geval ook beter om het zelf te doen omdat je de gevolgen er van ook kunt controleren.
Op dit moment heeft mijn homepage een 302 http header. Omdat deze wordt doorgeleid van http://www.mijndomein.nl naar http://www.mijndomein.nl/home
Hoe kan ik hier een 301 header van maken?
@Jelmer:
Dit ligt aan de huidige technische implementatie, maar naar alle waarschijnlijkheid is dit niet moeilijk of veel werk.
Bedankt voor je reactie. Heb het in PHP gedaan en dat werkt nu.
Even een vraag en dat is, stel dat ik de site heb doorverwezen kan ik dan het menu van die site die ik heb doorverwezen aanpassen en doorsturen naar de nieuwe site? of worden de mensen automatisch doorgestuurd?
En als ik het menu aanpas is dit dan niet nadelig voor ranking in geogle?
@Martijn: Je kan het menu dan gewoon aanpassen, dit is zelfs beter dan laten staan.
Sander, bedankt voor je snelle antwoord
Nog een vraag, moet het .htaccess naast de index.php komen te staan of een map dieper?
BVD, Martijn Feenstra
Standaard hoort deze in de root te staan, dus example.com/.htaccess (bestand is niet toegankelijk vanaf het internet).
Stel je wild een pagina van de oude site niet op de nieuwe terug laten kamen, wat doe je hier dan mee?
en kan je niet gewoon zeggen dat de hele site is verhuist of moet je echt elke pagina doorsturen, de struktuur van de nieuwe site is wel aangepast.
BVD, Martijn
Het is dan het best om naar de meest relevante nieuwe pagina door te verwijzen.
Het is het best om per pagina een redirect aan te maken.
Ik had het bestand er net opgezet maar toen was mijn site opeens niet meer bereikbaar, hoe kan dat en wat doe ik fout, zie http://www.sparkofhonour.com/test.txt
Ik weet dat dit niet het juiste bestand is maar anders kan ik het je niet laten zien.
Bij voorbaat mijn dank weer!
Het is voor mij ook niet direct en makkelijk te zien waarom het niet werkt. Wat je moet doen is debuggen: alles weghalen en stuk voor stuk weer toevoegen.
Ik heb het probleem opgelost, wel een andere vraag en dat is kan ik zelf aan googel opgeven dat de site verandert is of moet ik gewoon wachten tot hij langs komt?
Het is afwachten. Alleen bij het 1 op 1 overgaan naar een nieuwe domeinnaam kan je in Webmaster tools een “Change of address” aanvragen.
Hallo Sanser,
Ik denk dat ik toch wat verkeerd gedaan heb want er is niet verandert (google heeft net niet opgepikt)
Wat word er bedoeld met: in de root van de website, ik heb het bestand .htaccess naast de index van de website gezet maar dat lijkt dus niet te werken.
MVG, Martijn
@Martijn:
Het is makkelijk te testen: als je zelf door verwezen wordt naar de nieuwe pagina zal Google dat ook worden. Hierbij is het nog wel belangrijk dat je een 301 gebruikt en geen 302.
heb ik gedaan, en het werkt dus niet maar staat het bestand dan wel goed?
Het staat nu naast de index.php (hooft pagina van de website)
zie voorbeeld:
Redirect 301/ geboortekaartjes/puzzel/index.php http://www.originelegeboortekaartjes.nu/geboortekaartjes/geboortekaartjes-puzzel-card/
Als het op example.org/.htaccess staat dan is het goed (en dat is waarschijnlijk naast index.php)
Daar staat hij, maar het werkt dus niet, hoe dit op te lossen?
Werkt prima. Thanks!
Ik wil mijn complete site redirecten naar ‘www’. Dat is ook gelukt. Ik wil echter 1 map hierop uitzondering laten zijn, deze moet gewoon via http:// zonder www te bereiken zijn. Hoe doe ik dat?
@Jan:
Als je dit via htaccess hebt gedaan:
Je zult gebruik moeten maken van een RewriteCond:
RewriteCond %{REQUEST_URI} !^/hier-je-url/$
Je zal bovenstaande nog wel even moeten controleren en testen.
Mooi beschreven!
Ik heb een vraagje.
Wij hebben meerdere domeinnamen waarop we via Google ook vindbaar zijn. Deze komen uit op 1 site (maar in de URL staan de diverse domeinnamen).
Nu krijgen we binnenkort een nieuwe site en wil ik http://www.domeinnaam1.nl/oudepagina1 doorverwijzen naar http://www.domeinnaam1.nl/nieuwepagina1 maar ook http://www.domeinnaam2.nl/oudepagina1 en
http://www.domeinnaam3.nl/oudepagina1 naar http://www.domeinnaam1.nl/nieuwepagina1.
Hoe kan ik dit het beste doen?
@Annemarie:
Dit kan op de volgende manier als je Apache als server gebruikt via .htaccess:
Op hetzelfde domein:
Redirect 301 /oudepagina1 /nieuwepagina1
Van het een pagina op het ene domein naar een pagina op een ander domein:
Redirect 301 /oudepagina1 http://www.domeinnaam3.nl/nieuwepagina1
Nou, een vraag van een digibeet,
Ik had mijn website bij telfort staan, die hield er mee op om de site te ondersteunen.
Nu heb ik mijn domein en de website bij een ander “bedrijf” ondergebracht.
Echter, als je op google naar mijn site zoekt krijg je twee mogelijkheden de “oude” site waar ik niets meer aan kan veranderen (ook niet weghalen bij telfort)en de nieuwe site.
Ik wil dus dat de bezoekers van mijn “oude” site worden doorgeschakeld naar mijn nieuwe site.
Is dat makkelijk te doen voor een digibeet.
jan.
Ik hoor wel
@Jan:
Bij een website ondergebracht bij je provider kan je helaas niet veel met redirects.
Wanneer je de HTML nog wel aan kunt passen is het wel mogelijk om een canonical tag te plaatsen in de oude pagina’s die verwijzen naar de nieuwe pagina’s.
Ik heb een pagina:
http://www.infowebweistra.eu/wetenschap.htm
Die heb ik doorgelinkt naar:
http://www.infowebweistra.eu/homeopathie-wetenschap.htm
Ik gebruik Frontpage, en ik heb op deze manier doorverwezen:
content=”0; url=http://www.infowebweistra.eu/homeopathie-wetenschap.htm”>
Maar in de zoekmachine blijft de oude pagina staan (men komt wel op de nieuwe pagina uit).
Hoe kan ik er voor zorgen dat de nieuwe pagina in de zoekmachine terecht komt, en de oude verdwijnt?
Het vreemde is dat dat nu pas optreedt.
Met zoekwoorden in Google kwam men steeds op de nieuwe pagina uit.
Maar nu zie ik in Google-Analytics dat men steeds eerst op de oude pagina uitkomt.
Als ik zelf in Google ga zoeken, is mijn nieuwe pagina niet meer te vinden, maar kom ik op de oude pagina uit (daar heb ik de tekst al lang vanaf gehaald, er staat alleen de nieuwe URL op vermeld, voor het geval mensen er op blijven hangen).
Google heeft dus sinds kort een wijziging doorgevoerd (in z’n beleid).
Vervelend is dat als je op In Cache klikt, dat je dan te zien krijgt: error 404, pagina niet gevonden.
Zelfs als je tekst zoekt die helemaal niet op de oude pagina heeft gestaan, kom je toch eerst uit op de oude pagina.
Je ziet de tekst in de zoekresultaten bij de oude pagina staan.
Wel een beetje vreemd van Google, dit nieuwe beleid.
Of zou het een fout zijn?
Kan ik me bijna niet voorstellen.
Met interesse het artikel en alle reacties gelezen, toch loop ik tegen een uitdaging op.
Ik heb mijn joomla site binnen http://www.mijnsite.nl/jm ondergebracht. Ik heb een redirect in de htaccess gemaakt die keurig een doorverwijzing maakt. Echter werken mijn subdomeinen niet meer. Hoe kan ik specifiek aangeven dat deze subdomein.mijnsite.nl en bijbehorende mappen worden uitgesloten.
Ik heb zowel naar de reactie van Aad als de tip van Sander gekeken, maar loop hier toch vast…
Kan je voor .htacces niet beter het volgende gebruiken?
Redirect 301 /oudelocatie.html http://netters.nl/nieuwelocatie.html
Dit was het enige wat voor mij werkt. Met het voorbeeld in dit artikel kwam ik er niet uit.
Ik heb mijn vraag gesteld op het google webmastersforum. Met die hulp en nog wat googelen, heb ik het opgelost.
Maar vind het nog steeds heel raar dat Google na 2 jaar ineens mijn nieuwe pagina compleet verwisselt met mijn oude pagina.
Bij andere zoekmachines stond het allemaal nog wel goed.
Super tekst. Dit heb ik direct kunnen gebruiken na effe zoeken. Hopelijk nu meer PR!
Bedankt voor de duidelijke uitleg! Ik heb nu veel html-pagina’s op mijn website, die ik graag allemaal zou redirecten naar php. Is het mogelijk om dit voor alle url’s automatisch te doen? Dus standaard van .html naar .php? Of moet ik per pagina apart een regel instellen?
Bedankt alvast!
Ik heb een probleempje
Het volgende is de situatie:
Met behulp van het volgende htaccess bestand herschrijf ik mijn get waardes
rewritecond %{http_host} ^mysite.nl
rewriteRule ^(.*) http://www.mysite.nl/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} –d
RewriteRule ^.* – [L]
RewriteRule ^(.*)/(.*)/(.*)$ /index.php?een=$1&twee=$2&drie=$3 [L]
RewriteRule ^(.*)/(.*)$ /index.php?een=$1&twee=$2 [L]
RewriteRule ^(.*)$ /index.php?een=$1 [L]
Hiermee kan ik bijvoorbeeld dus netjes mywebsite.nl/fotos/zomer benaderen.
De get waarde (fotos, zomer) vang ik met php op en bepaal ik wel pagina er moet worden weergegeven. Werkt allemaal prima.
Het volgende krijg ik niet werkend:
Ik wil oude url’s redirecten naar nieuwe url’s. (zijn er een stuk of 40)
Oud:
http://www.mysite.nl/foto.asp?id=44
Nieuw:
http://www.mysite.nl/fotos/albumnaam
Dit krijg ik niet voor elkaar. Alles wat na http://www.mysite.nl/ komt ziet mijn php script als een get waarde. De rest ?id=44 vervalt. Het id maak me ook verder niks uit ik wil gewoon een lijst maken van de nodige redirects.
Redirect 301 /route.asp?id=44 http://www.mysite.nl/fotos/albumnaam pakt hij niet.
Iemand een idee waar ik de mist in ga?
Hallo,
Ik wil de volgende pagina’s redirecten
http://www.gezochtmarkt.nl/gevraagd/boeken/
naar
http://www.zoekertjespagina.be/tekoop/boeken/
Daarvoor heb de volgende regel toegevoegd in het .htacces bestand (geplaatst in de root van de site)
301 redirect /gevraagd/boeken/ http://www.zoekertjespagina.be/tekoop/boeken/
Echter, dit werkt NIET.
Kan iemand mij hierbij helpen? Alvast bedankt.
Bedankt voor de info! precies wat ik nodig had 🙂
Hi,
Ik heb http://www.bellyboat-discounter.de via 301 redirect doorverwezen naar http://www.bellyboat.nl/de
Dit werkt echter google adwords weigert nu de advertenties omdat de zichtbare URL niet klopt.
Heeft iemand hier een suggestie voor?
Alvast enorm bedankt!!
[…] Ik dacht dat je enkel de juiste woorden zocht om te googelen Zal ik het dan maar voor u doen: 301-redirect? Slim redirecten met .htaccess, PHP, ASP en andere manieren […]
Onlangs onze website verplaatst van scdegiessen.nl naar giesselinge.nl. De oude website is volledig verwijderd en via 301-domeindoorverwijzing van de provider kom je automatisch op giessenlinge.nl terecht.
Echter, alles gaat naar giessenlinge.nl. Ik zou willen dat als je naar http://www.scdegiessen.nl/?p=1897 surft je wordt doorgestuurd naar http://www.giessenlinge.nl/?p=1897 en niet naar http://www.giessenlinge.nl
Is dat mogelijk?
[…] of zelf ingetypt), op jouw domein gebruik je non-permanente doorverwijzingen (geen zogenoemde 301 redirect), de e-mailsoftware van de bezoeker geeft niet alle verwijzingsinformatie mee, of de bezoeker heeft […]
Hi, ik heb een vraagje! Ik heb laatst mijn site http://www.glowofbeauty.wordpress.com verplaatst naar http://www.glowofbeauty.nl. Nu zou ik graag alle verwijzingen naar mijn oude site op bijvoorbeeld google willen overzetten naar mijn nieuwe site. Het lijkt me het meest simpel om dat met .htacces te doen (ik ben niet heel erg goed in computertaal enz. :)) maar wat moet je dan invullen bij ‘oud’ en ‘oud.html’ en ‘nieuw.html’? Het zou echt heel fijn zijn als iemand me zou helpen, alvast bedankt!
Hoi Anniek, als de pagina’s verder helemaal overeen komen, kun je alleen het domein door sturen.
Dan wordt het zoiets:
RewriteEngine On
rewritecond %{http_host} ^glowofbeauty.nl
rewriteRule ^(.*) http://www.glowofbeauty.nl/$1 [R=301,L]
Dankjewel voor de snelle reactie joost!
Als ik de plugin 301 redirect gebruik, dan staat er bij de ‘request’, dat ik op moet geven wat er na het echte website adres (zoals http://www.glowofbeauty.wordpress.com) komt, zoals /about.htm. Bij de ‘destination’ moet ik wel het hele website-adres er nog voor zetten. Weet de plugin dan automatisch dat hij het van mijn oude site, http://www.glowofbeauty.wordpress.com, over moet zetten naar mijn nieuwe site?
Ik heb die 301 redirect nu bij een paar artikelen gebruikt, maar als ik de naam van dat artikel intyp op google, dan vind hij als eerste het artikel op mijn oude site, en als ik daar op klik kom ik ook gewoon op mijn oude site terecht. Klopt dit?
Alvast bedankt!
Sorry, ik bedoelde Job 🙂
Hartelijk dank voor de informatie! heeft me goed geholpen met het redirecten van mijn oude website!
dat is allemaal leuk en aardig maar als mijn server al deze methodes niet toestaat aangezien het een homepage is.
(die overigens opgeheven word door de provider)
mijn adres is
http://home.xmsnet.nl/perry/
en het nieuwe adres:
http://www.4-daagse-nijmegen.nl
iemand nog suggesties hoe ik dit nu aanpak en mijn pagerank en links mee kan nemen?
Hoi, super artikel!
Ik heb een website en wil met een nieuwe naam en logo een nieuw begin. Nieuwe domein en hosting heb ik echter niet bij dezelfde aangeschaft (dit omdat mijn oude hosting erg slecht is). Nu wil ik eigenlijk mijn oude site door laten linken naar mijn nieuwe. Op zich heb ik geen tonnen bezoekers… Is het dan zinvol om zoveel moeite te doen. Ongeveer één derde van mijn bezoekers zijn ´organic´. Ik moet hiervoor mensen inschakelen en betalen want als ik er zelf mee aan de slag ga, gaat het helemaal mis!
Ook zeggen velen dat door laten linken naar een nieuwe domein niet mogelijk is (hierboven lees ik echter iets anders).
groetjes
Hoi Chantal,
Ik kan niet uit je vraag opmaken of je je oude domeinnaam en hosting in de lucht houdt of deze opzegt… (ik zal in ieder geval je oude domeinnaam behouden). Er zijn meerdere opties:
Optie 1: Je behoudt alleen je domeinnaam. In de controlepaneel die je webhoster beschikbaar stelt kan je vaak een URL forward instellen.
Hiermee geef je aan dat domeinnaamA.nl moet doorverwijzen naar domeinnaamB.nl. Of dit met een 301 kan je het beste bij je webhoster navragen. Voordeel: je stuurt de bezoekers die je oude domeinnaam kennen, of die gelinked worden vanaf andere sites door naar je nieuwe site.
Optie 2: Je behoudt je domeinnaam én je hosting. Plaats een 301 regel zoals hierboven beschreven is in je .htaccess en behoud de waarde die je website in het verleden heeft opgebouwd.
Mijn advies is altijd om een 301 in te stellen. De inspanning om opnieuw te ranken met je website en waarde op te bouwen is vaak groter dan even goed voor een 301 te gaan zitten!
Ik beheer de website van mijn vader. Hij heeft zijn website altijd gehost bij de homepagedienst van Tiscali: home.tiscali.nl/draaiorgelverhuur. Deze dienst wordt echter stopgezet. Vanaf 1 december heb ik geen FTP-toegang meer en vanaf maart 2015 wordt alle data verwijderd. Ik heb al een nieuwe website gemaakt op http://www.draaiorgel.tk. Nu zijn er dus 2 websites: de oude waar je via Google op terecht komt en de nieuwe. Deze .tk verwees trouwens eerst naar de oude website, maar dat is dus aangepast.
Ik heb een 301-redirect gemaakt via een .htaccess, moet ik nog meer doen? Is het verstandig om op de oude website ook nog in elke pagina een redirect op te nemen (hoe?)? Ik wil namelijk geen problemen met duplicate content. En dat er twee websites zijn, zal voor bezoekers verwarrend kunnen zijn. Of moet ik de oude website helemaal verwijderen?
Ik hoor het graag, van het is 1 december voor je het weet en dan kan ik niets meer ;-).
Groetjes,
Anita
Wanneer moet de oude site moeten verwijderd? Of hoeft dat niet? Dit in verband met dubbele content.
Beste Piet. Je wilt een oude website doorsturen naar de nieuwe website zoals je kunt lezen in het artikel. Als je dit goed doet, dan heb je nooit dubbele content. De oude website kun je archiveren op je server. Verwijderen hoef je eigenlijk niet te doen.
Moet je altijd een redirect aanmaken als je een post of wordpress pagina verwijdert? Of is het in sommige gevallen niet nodig? En waarmee kun je in wordpress het beste een redirect maken, is hier een mooie plugin voor?
Hoi,
Ik heb een vraagje ik heb dubbele pagina’s met en zonder de /index.php
nu wil ik alle /index.php redirecten dus,
Oud
http://www.royal-douche.com/index.php/douchewanden/vaste-wanden
http://www.royal-douche.com/index.php/douchecabines
Nieuw
http://www.royal-douche.com/douchewanden/vaste-wanden
http://www.royal-douche.com/douchecabines
enz.
Is hier een RewriteCond voor?
Alvast bedankt!
Hoi Jeffrey,
In principe is het niet slecht voor je SEO om de index.php in de url te laten staan, mits je hier concistent in bent.
Om antwoord te geven op je vraag, zijn dit de regels die je moet toevoegen aan je .htaccess bestand:
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ /$1 [R=301,L]
Hoi Job,
Bedankt voor je reactie, ik heb de code toegevoegd maar voor mijn gevoel gebeurt er niet veel.
Ik heb nu duplicate content vandaar dat ik de ene pagina naar de ander wil redirecten.
Zeer interessant, ik gebruik vaak de .ht access mod_rewrite.
Hallo,
is het via een htaccess bestand ook mogelijk om alle blogberichten met een .nl extensie door te verwijzen naar een .com extensie? Onze content staat op .com maar soms tikken mensen .nl achter een link en dan zou het fijn zijn als ze toch op de goede pagina zouden komen. Thanx!
Bedankt voor deze bijdrage. Wel snap ik 1 aspect nog niet., Als je een domein 301 redirect op een ander domein worden de backlinks dan vervolgens voor het nieuwe domein in het linkprofiel erbij opgeteld?
Beste Dari. Dat klopt wat je zegt. De backlinks van het oude domein worden ook verhuisd naar het nieuwe domein. Het linkprofiel van het nieuwe domein heeft hier dus veel profijt van. Vooral als dit een website betreft met een relevant/gelijk onderwerp.
[…] Met dank aan onetomarket […]
Beste,
Wat is het maximaal aantal 301 redirects dat je kunt gebruiken voor je website?
Is het slim om vanaf 10 verschillende domeinen (met relevante keywords) een 301 redirect naar jouw website te plaatsen?
Er is geen maximaal aantal 301 redirects dat je kunt gebruiken voor een website.
Let op dat je geen redirectketens krijgt. Dit zijn redirects die doorsturen van de ene naar de andere redirect. Dit is geen goede gebruikerservaring. Dit komt voor wanneer je in de loop der jaren meerdere nieuwe websites hebt gepubliceerd met steeds andere URLs in de sitestructuur.
Top informatie dit!!!!!
Voor ISS redirects kun je gebruik maken van een import met een .htacces bestand. Dit doe je door in het IIS beheer op de site te klikken en dan in de functieweergaven via URL Rewrite in de Inbound rules rechtermuis te klikken en dan onder inbound rules Import Rules te klikken en daar je .htacces bestand te importeren. Works like a charm!
Voorop gesteld: ik ben met htaccess echt een dummy.
Ik wil heel simpel dat mensen met de ene filename naar de andere filename worden doorverwezen. Ik kan dit doen door mapjes te plaatsen met een index erin maar het leek mij handiger om dat in htaccess te doen. Een plek waar alles staat.
http://www.mijnwebsite/verhaal1 verwijzen naar http://www.mijnwebsite/blabla.html
http://www.mijnwebsite/verhaal2 verwijzen naar http://www.mijnwebsite/bimben.html enz
Dit wil ik ook in htaccess doen omdat ik een uit de hand gelopen ± 150 verhalen heb.
Ik vind voorbeelden op internet die niet werken omdat ze of niet volledig zijn of omdat ik ze waarschijnlijk niet snap. Dus kan iemand mij helpen?
Hoi Karin,
In jouw voorbeeld kan je op deze manier redirects toevoegen aan het .htaccess script:
Redirect 301 /verhaal1 http://www.mijnwebsite/blabla.html
Redirect 301 /verhaal2 http://www.mijnwebsite/bimben.html
De éérste URL bevat niet de domeinnaan: http://www.mijnwebsite.nl moet je weglaten.
Je moet de volledige URL wel vermelden in de bestemmings URL.
Veel succes met het instellen van de redirects!
Top! Direct goed kunnen regelen met een .htaccess bestand, bedankt!
Ik stel een 301 redirect in, echter stuurt hij deze niet door naar de juiste adres
Het gaat om domein aandachtvoorlopen.nl welke doorgestuurd dient te worden.
Redirect 301 / http://voetcomfortdeventer.nl/aandacht-voor-lopen.html
Echter kom ik uit op voetcomfortdeventer.nl
Hoe kan ik een 301 redirect weer ongedaan maken?
Ik zit met een probleem met redirecten, als ik redirect van
oude link
A oude serentipity wat in een map staat met de naam /nieuws
https://www.trouwen-bruiloft.nl/nieuws/index.php?/archives/116-Wat-zijn-de-trends-voor-de-bruid.html
B Naar wordpress wat in de map staat blogs
nieuwe link
https://www.trouwen-bruiloft.nl/blogs/bruidsmode/wat-zijn-de-trends-voor-de-bruid/
Hoe kan ik dit redirecten, moet dit in het htacces gedeelte van serentipity?
Of in htacces van mijn www
Ook zit er een vraagteken in de url van het serendipity blog!!!
Dus beide blogsystemen zitten in een aparte map, en draaien op dit moment op verschillende database. Heb een extra database bijgekocht, om geen problemen te krijgen, en ik zo alles een voor een van Serendipity, naar wordpress kan overbrengen.
Heb al verschillende marketing buro’s aangeschreven, maar blijkbaar is het heel moeilijk. Tot nu toe nog geen oplossing gevonden.
Misschien dat iemand hier een oplossing weet?
Hartelijke groeten Margaret
Bedankt voor het artikel, net wat ik zocht