{"id":7857,"date":"2015-04-18T01:56:20","date_gmt":"2015-04-17T23:56:20","guid":{"rendered":"http:\/\/www.palentino.es\/blog\/?p=7857"},"modified":"2015-04-19T13:49:43","modified_gmt":"2015-04-19T11:49:43","slug":"los-mecanismos-de-redireccion-aptos-para-el-seo-en-diversos-lenguajes-de-programacion","status":"publish","type":"post","link":"https:\/\/www.palentino.es\/blog\/los-mecanismos-de-redireccion-aptos-para-el-seo-en-diversos-lenguajes-de-programacion\/","title":{"rendered":"Los mecanismos de redirecci\u00f3n aptos para el #SEO en diversos lenguajes de programaci\u00f3n."},"content":{"rendered":"<div id=\"palen-2649824644\" class=\"palen-antes-del-contenido palen-entity-placement\"><div class=\"palen-adlabel\">Anuncios<\/div><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-2815317153396146\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:inline-block;width:300px;height:250px;\" \ndata-ad-client=\"ca-pub-2815317153396146\" \ndata-ad-slot=\"4593837716\"><\/ins> \n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div><p>En muchas ocasiones nos vemos obligados a redirigir nuestro\u00a0website hacia otro lugar u hospedaje.<br \/>\nLa mejor forma de realizarlo es mediante una <strong>redirecci\u00f3n permanente<\/strong> puesto que no penaliza al SEO o posicionamiento org\u00e1nico.<br \/>\nEsta redirecci\u00f3n es la llamada <strong>HTTP 301<\/strong>. El HTTP es el protocolo seguido y el n\u00famero el tipo. Es lo que se conoce como <a href=\"http:\/\/es.wikipedia.org\/wiki\/Anexo:C%C3%B3digos_de_estado_HTTP\" target=\"_blank\">c\u00f3digo de estado HTTP<\/a><\/p>\n<p><strong>Seg\u00fan Google<\/strong><\/p>\n<p>Los redireccionamientos 301 son particularmente \u00fatiles en las siguientes circunstancias:<\/p>\n<ul>\n<li>Has trasladado tu sitio a un nuevo dominio y deseas que la transici\u00f3n sea lo m\u00e1s f\u00e1cil posible.<\/li>\n<li>Los usuarios acceden a tu sitio a trav\u00e9s de varias URL distintas. Si, por ejemplo, se puede acceder a la p\u00e1gina principal de muchas maneras (como http:\/\/example.com\/home, http:\/\/home.example.com o http:\/\/www.example.com) es una buena idea elegir una de esas direcciones URL como destino preferido (can\u00f3nico) y usar redireccionamientos 301 para enviar el tr\u00e1fico del resto de direcciones URL a la URL preferida. Tambi\u00e9n puedes usar Herramientas para webmasters de Google para establecer tu dominio preferido.<\/li>\n<li>Est\u00e1s combinando dos sitios web y quieres asegurarte de que los enlaces a URL obsoletas redirijan al usuario a las p\u00e1ginas correctas.<\/li>\n<\/ul>\n<p><strong>Os dejo las diferentes redirecciones<\/strong> permanentes en diversos lenguajes y configuraciones para <strong>copiar de forma sencilla en vuestros proyectos<\/strong>.<\/p>\n<p><!--more--><\/p>\n<div class=\"su-spoiler su-spoiler-style-fancy su-spoiler-icon-arrow-circle-1 su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>En PHP<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\"><\/p>\n<pre class=\"lang:php decode:true\">&lt;?\r\nHeader( \u201cHTTP\/1.1 301 Moved Permanently\u201d );\r\nHeader( \u201cLocation: http:\/\/www.palentino.es\u201d );\r\n?&gt;<\/pre>\n<p>&nbsp;<\/p>\n<p><\/div><\/div>\n<div class=\"su-spoiler su-spoiler-style-fancy su-spoiler-icon-arrow-circle-1 su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>En ASP cl\u00e1sico<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\"><\/p>\n<pre class=\"lang:asp decode:true \">&lt;%@ Language=VBScript %&gt;\r\n&lt;%\r\nResponse.Status=\u201d301 Moved Permanently\u201d\r\nResponse.AddHeader \u201cLocation\u201d,\u201dhttp:\/\/www.palentino.es\/\u201d\r\n%&gt;<\/pre>\n<p>&nbsp;<\/p>\n<p><\/div><\/div>\n<div class=\"su-spoiler su-spoiler-style-fancy su-spoiler-icon-arrow-circle-1 su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>En ASP .NET<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\"><\/p>\n<pre class=\"lang:asp decode:true \">&lt;script runat=\u201dserver\u201d&gt;\r\nprivate void Page_Load(object sender, System.EventArgs e)\r\n{\r\nResponse.Status = \u201c301 Moved Permanently\u201d;\r\nResponse.AddHeader(\u201cLocation\u201d,\u201dhttp:\/\/www.palentino.es\");\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p><\/div><\/div>\n<div class=\"su-spoiler su-spoiler-style-fancy su-spoiler-icon-arrow-circle-1 su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>En HTML<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\"><\/p>\n<pre class=\"lang:xhtml decode:true \">&lt;META http-equiv=\u201drefresh\u201d content=\u201d0;URL=http:\/\/www.palentino.es\u201d&gt;<\/pre>\n<p>&nbsp;<\/p>\n<p><\/div><\/div>\n<div class=\"su-spoiler su-spoiler-style-fancy su-spoiler-icon-arrow-circle-1 su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>En Javascript<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\"><\/p>\n<pre class=\"lang:js decode:true \">&lt;script language=\u201djavascript\u201d type=\u201dtext\/javascript\u201d&gt;\r\nwindow.location.href=\u201dhttp:\/\/www.palentino.es\";\r\n&lt;\/script&gt;<\/pre>\n<p>&nbsp;<\/p>\n<p><\/div><\/div>\n<div class=\"su-spoiler su-spoiler-style-fancy su-spoiler-icon-arrow-circle-1 su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>En JSP<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\"><\/p>\n<pre class=\"lang:java decode:true \">&lt;%\r\nresponse.setStatus(301);\r\nresponse.setHeader( \u201cLocation\u201d, \u201chttp:\/\/www.palentino.es\/\u201d );\r\nresponse.setHeader( \u201cConnection\u201d, \u201cclose\u201d );\r\n%&gt;<\/pre>\n<p>&nbsp;<\/p>\n<p><\/div><\/div>\n<div class=\"su-spoiler su-spoiler-style-fancy su-spoiler-icon-arrow-circle-1 su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>En ColdFusion<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n<pre class=\"lang:as decode:true \">&lt;.cfheader statuscode=\u201d301\u2033 statustext=\u201dMoved permanently\u201d&gt;\r\n&lt;.cfheader name=\u201dLocation\u201d value=\u201dhttp:\/\/www.palentino.es\u201d&gt;\r\n<\/div><\/div><\/pre>\n<div class=\"su-spoiler su-spoiler-style-fancy su-spoiler-icon-arrow-circle-1 su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>En CGI PERL<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\"><\/p>\n<pre class=\"lang:perl decode:true \">$q = new CGI; print $q-&gt;redirect(\u201chttp:\/\/www.palentino.es\/\u201d);<\/pre>\n<p><\/div><\/div>\n<div class=\"su-spoiler su-spoiler-style-fancy su-spoiler-icon-arrow-circle-1 su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>En Ruby on Rails<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\"><\/p>\n<pre class=\"lang:ruby decode:true \">def old_action\r\nheaders[\u201cStatus\u201d] = \u201c301 Moved Permanently\u201d\r\nredirect_to \u201chttp:\/\/www.palentino.es\/\u201d\r\nend<\/pre>\n<p>&nbsp;<\/p>\n<p><\/div><\/div>\n<div class=\"su-spoiler su-spoiler-style-fancy su-spoiler-icon-arrow-circle-1 su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>Mediante .htaccess<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\"><\/p>\n<pre class=\"lang:sh decode:true \">Options +FollowSymLinks\r\nRewriteEngine on\r\nRewriteRule (.*) http:\/\/www.palentino.es\/$1 [R=301,L]<\/pre>\n<p>&nbsp;<\/p>\n<p><\/div><\/div>\n<div class=\"su-spoiler su-spoiler-style-fancy su-spoiler-icon-arrow-circle-1 su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>Mediante web.config<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\"><\/p>\n<p>&lt;?xml version=&#8221;1.0&#8243;?&gt;<br \/>\n&lt;configuration&gt;<br \/>\n&lt;system.webServer&gt;<br \/>\n&lt;httpRedirect enabled=&#8221;true&#8221; destination=&#8221;http:\/\/www.palentino.es&#8221; httpResponseStatus=&#8221;Permanent&#8221; \/&gt;<br \/>\n&lt;\/system.webServer&gt;<br \/>\n&lt;\/configuration&gt;<\/p>\n<p><\/div><\/div>\n<div id=\"palen-2242803474\" class=\"palen-despues-del-contenido palen-entity-placement\"><div class=\"palen-adlabel\">Anuncios<\/div><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-2815317153396146\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-2815317153396146\" \ndata-ad-slot=\"\" \ndata-ad-format=\"auto\" data-full-width-responsive=\"true\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>En muchas ocasiones nos vemos obligados a redirigir nuestro\u00a0website hacia otro lugar u hospedaje. La mejor forma de realizarlo es mediante una redirecci\u00f3n permanente puesto que no penaliza al SEO o posicionamiento org\u00e1nico. Esta redirecci\u00f3n es la llamada HTTP 301. El HTTP es el protocolo seguido y el n\u00famero el tipo. Es lo que se conoce como c\u00f3digo de estado HTTP Seg\u00fan Google Los redireccionamientos 301 son particularmente \u00fatiles en las siguientes circunstancias: Has trasladado tu sitio a un nuevo dominio y deseas que la transici\u00f3n sea lo m\u00e1s f\u00e1cil posible. Los usuarios acceden a tu sitio a trav\u00e9s de varias URL distintas. Si, por ejemplo, se puede acceder a la p\u00e1gina principal de muchas maneras (como http:\/\/example.com\/home, http:\/\/home.example.com o http:\/\/www.example.com) es una buena idea elegir una de esas direcciones URL como destino preferido (can\u00f3nico) y usar redireccionamientos 301 para enviar el tr\u00e1fico del resto de direcciones URL a la URL preferida. Tambi\u00e9n puedes usar Herramientas para webmasters de Google para establecer tu dominio preferido. Est\u00e1s combinando dos sitios web y quieres asegurarte de que los enlaces a URL obsoletas redirijan al usuario a las p\u00e1ginas correctas. Os dejo las diferentes redirecciones permanentes en diversos lenguajes y configuraciones para copiar de forma sencilla en vuestros proyectos.<\/p>\n","protected":false},"author":1,"featured_media":2471,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[9,240],"tags":[631,659],"class_list":["post-7857","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-seo","category-seotips-seo","tag-redireccion","tag-seo"],"views":2591,"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/www.palentino.es\/blog\/wp-content\/uploads\/2012\/10\/SEO-inpage.jpg","jetpack_shortlink":"https:\/\/wp.me\/p2ECph-22J","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/7857","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/comments?post=7857"}],"version-history":[{"count":11,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/7857\/revisions"}],"predecessor-version":[{"id":7868,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/7857\/revisions\/7868"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/media\/2471"}],"wp:attachment":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/media?parent=7857"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/categories?post=7857"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/tags?post=7857"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}