{"id":2206,"date":"2015-10-14T18:38:08","date_gmt":"2015-10-14T18:38:08","guid":{"rendered":"https:\/\/marketingweb.com.mx\/blog\/?p=2206"},"modified":"2015-10-14T18:38:08","modified_gmt":"2015-10-14T18:38:08","slug":"htaccess","status":"publish","type":"post","link":"https:\/\/marketingweb.com.mx\/blog\/htaccess\/","title":{"rendered":"htaccess"},"content":{"rendered":"<p><a href=\"https:\/\/marketingweb.com.mx\/blog\/wp-content\/uploads\/illu_htaccess.gif\"><img decoding=\"async\" class=\"alignnone size-thumbnail wp-image-2207 lazyload\" data-src=\"https:\/\/marketingweb.com.mx\/blog\/wp-content\/uploads\/illu_htaccess-150x150.gif\" alt=\"htaccess SEO\" width=\"150\" height=\"150\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 150px; --smush-placeholder-aspect-ratio: 150\/150;\" \/><\/a><\/p>\n<h1>htaccess SEO<\/h1>\n<p>El fichero .htaccess (fichero de acceso a hipertexto) es un archivo de configuraci\u00f3n del nivel de directorio que permite la gesti\u00f3n descentralizada de la configuraci\u00f3n del servidor web. Un archivo .htaccess es siempre agregado en el directorio ra\u00edz y con \u00e9l se pueden modificar muchos par\u00e1metros de configuraci\u00f3n de WordPress, como pueden ser:<\/p>\n<p>&nbsp;<\/p>\n<p>La configuraci\u00f3n del servidor (server\u2019s global configuration)<\/p>\n<p>El tipo de contenido (content type)<\/p>\n<p>El conjunto de caracteres (character set)<\/p>\n<p>Con todas estas propiedades el archivo .htaccess se convierte en clave que garantizar y mejorar la funcionalidad de las p\u00e1ginas web y blogs que tengan una instalaci\u00f3n WordPress.<\/p>\n<p>&nbsp;<\/p>\n<p>SEO y .htaccess<\/p>\n<p>&nbsp;<\/p>\n<p>El archivo .htaccess es vital para hacer un buen trabajo de posicionamiento en motores de b\u00fasqueda. Como consultor SEO, a la hora de posicionar una p\u00e1gina o blog en los motores de b\u00fasqueda como Google, lo uso para:<\/p>\n<p>&nbsp;<\/p>\n<p>Crear redirecciones: Por ejemplo para un trabajo de cambio de dominio, donde habr\u00eda que mantener las visitas del anterior dominio<\/p>\n<p>Mejora de la velocidad de carga habilitando la compresi\u00f3n con .htaccess: Es un apartado que muy pocas p\u00e1ginas web usan y que da muy buenos resultados<\/p>\n<p>Reescritura de enlaces (URL)<\/p>\n<p>Soluciones al contenido duplicado: Por ejemplo capando los accesos a ciertos contenidos para que ya no est\u00e9n duplicados<\/p>\n<p>Moderar comentarios<\/p>\n<p>Un largo etc<\/p>\n<p>Cuando instalas WordPress se crea un fichero .htaccess que WordPress usa por defecto, pero ese fichero puede ser mejorado, utilizando consejos como los que te ofrezco a continuaci\u00f3n. Ten cuidado al implementarlos, y siempre guarda una copia de seguridad antes de cambiar nada, por si tienes que volver hacia atr\u00e1s :).<\/p>\n<h1><a href=\"https:\/\/marketingweb.com.mx\">SEO<\/a><\/h1>\n<p>Trucos para vconfigurar el archivo .htaccess<\/p>\n<p>&nbsp;<\/p>\n<p>A continuaci\u00f3n vamos con unos cuantos trucos traducidos de \u201c20 htaccess hacks to prevent your WordPress site from hacking\u201d para saber c\u00f3mo configurar y optimizar .htaccess para evitar \u201cHackeos\u201d que dificultar\u00e1n y evitar\u00e1n en gran medida la pirater\u00eda en tu p\u00e1gina web o blog en WordPress. Algunos de estos consejos son para:<\/p>\n<p>&nbsp;<\/p>\n<p>Bloquear direcciones IP espec\u00edficas<\/p>\n<p>Redirigir las visitas a la p\u00e1gina de mantenimiento cuando se est\u00e1 redise\u00f1ando una p\u00e1gina web o blog en particular<\/p>\n<p>Restringir direcciones IP para que nadie pueda acceder al panel de administraci\u00f3n de tu WordPress<\/p>\n<p>Muchos otros trucos o consejos para configurar y optimizar el archivo .htaccess en WordPress.<\/p>\n<p>Antes de seguir, tengo que dejar claro que en este art\u00edculo muestro los consejos m\u00e1s importantes para configurar .htaccess para evitar \u201cHackeos\u201d, pero si lo que quieres es profundizar en el tema y configurar correctamente tu fichero .htaccess no puedes dejar de leer la gu\u00eda de referencia de .htaccess (en ingl\u00e9s).<\/p>\n<p>&nbsp;<\/p>\n<p>#1 Bloquear IPs de usuarios o bots indeseados<\/p>\n<p>&nbsp;<\/p>\n<p>Apache puede ser utilizado para bloquear usuarios o bots indeseados a nuestra p\u00e1gina web o blog. Este c\u00f3digo permite visitar la p\u00e1gina web o blog a cualquier persona, excepto a quien tenga las siguientes direcciones IP (cambiar las IPs con las IPs que quieras bloquear):<\/p>\n<p>&nbsp;<\/p>\n<p>&lt;Limit GET POST PUT&gt;<\/p>\n<p>order allow,deny<\/p>\n<p>allow from all<\/p>\n<p>deny from 123.456.789<\/p>\n<p>deny from 93.121.788<\/p>\n<p>deny from 223.956.789<\/p>\n<p>deny from 128.456.780<\/p>\n<p>&lt;\/LIMIT&gt;<\/p>\n<p>#2 Redireccionar el d\u00eda y el nombre de los enlaces permanentes a \/% postname%\/<\/p>\n<p>&nbsp;<\/p>\n<p>Seguridad en WordPress Como configurar htaccess para evitar Hackeos redirecciones 301<\/p>\n<p>&nbsp;<\/p>\n<p>Lo primero que debes de hacer es acceder a tu panel de administraci\u00f3n de WordPress, ir a Ajustes \u2192 Enlaces permanentes (permalinks) y seleccionar \u201cpersonalizar\u201d. Rellena el campo con \/% postname%\/:<\/p>\n<p>&nbsp;<\/p>\n<p>Ahora tenemos que redirigir todos los backlinks (enlaces entrantes) usando la antigua estructura de enlaces permanentes (permalinks) a la nueva estructura de enlaces permanentes. Para ello, tendr\u00e1s que editar el archivo .htaccess. e insertar las siguiente l\u00edneas de c\u00f3digo:<\/p>\n<p>&nbsp;<\/p>\n<p>RedirectMatch 301 \/([0-9]+)\/([0-9]+)\/([0-9]+)\/(.*)$ http:\/\/http:\/\/www.tu_dominio.com\/\/$4<\/p>\n<p>Si quieres configurar unos enlaces permanentes m\u00e1s \u00f3ptimos, te aconsejo cambiar \/% postname%\/ por \/% category%\/% postname%\/.<\/p>\n<p>&nbsp;<\/p>\n<p>#3 Redireccionar las visitas a una p\u00e1gina de mantenimiento<\/p>\n<p>&nbsp;<\/p>\n<p>RewriteEngine on<\/p>\n<p>RewriteCond %{REQUEST_URI} !\/maintenance.html$<\/p>\n<p>RewriteCond %{REMOTE_ADDR} !^123.123.123.123<\/p>\n<p>RewriteRule $ \/maintenance.html [R=302,L]<\/p>\n<p>#4 Redireccionar hacia www o sin www con .htaccess<\/p>\n<p>&nbsp;<\/p>\n<p>Seguridad en WordPress Como configurar htaccess para evitar Hackeos redirecciones 301<\/p>\n<p>&nbsp;<\/p>\n<p>RewriteEngine On<\/p>\n<p>RewriteBase \/<\/p>\n<p>RewriteCond %{HTTP_HOST} ^yourblogname.com [NC]<\/p>\n<p>RewriteRule ^(.*)$ http:\/\/www.yourblogname.com\/$1 [L,R=301]<\/p>\n<p>RewriteEngine On<\/p>\n<p>RewriteBase \/<\/p>\n<p>RewriteCond %{HTTP_HOST} ^www.tu_dominio.com [NC]<\/p>\n<p>RewriteRule ^(.*)$ http:\/\/tu_dominio.com\/$1 [L,R=301]<\/p>\n<p>#5 Configurar URLs canonical con .htaccess<\/p>\n<p>&nbsp;<\/p>\n<p># Set the canonical url<\/p>\n<p>RewriteEngine On<\/p>\n<p>RewriteCond %{HTTP_HOST} ^tu_dominio\\.com$ [NC]<\/p>\n<p>RewriteRule ^(.*)$ http:\/\/www.tu_dominio.com\/$1 [R=301,L]<\/p>\n<p>#6 Redireccionar tu feed hacia FeedBurner<\/p>\n<p>&nbsp;<\/p>\n<p>Este truco redirecciona http:\/\/www.tupaginaweboblog.com\/feed a .<\/p>\n<p>&nbsp;<\/p>\n<p># temp redirect wordpress content feeds to feedburner<\/p>\n<p>&lt;IfModule mod_rewrite.c&gt;<\/p>\n<p>RewriteEngine on<\/p>\n<p>RewriteCond %{HTTP_USER_AGENT} !FeedBurner\u00a0\u00a0\u00a0 [NC]<\/p>\n<p>RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]<\/p>\n<p>RewriteRule ^feed\/?([_0-9a-z-]+)?\/?$\u00a0 [R=302,NC,L]<\/p>\n<p>&lt;\/IfModule&gt;<\/p>\n<p>#7 Redireccionar tu feed de comentarios hacia FeedBurner<\/p>\n<p>&nbsp;<\/p>\n<p># temp redirect wordpress comment feeds to feedburner<\/p>\n<p>&lt;IfModule mod_rewrite.c&gt;<\/p>\n<p>RewriteEngine on<\/p>\n<p>RewriteCond %{HTTP_USER_AGENT} !FeedBurner\u00a0\u00a0\u00a0 [NC]<\/p>\n<p>RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]<\/p>\n<p>RewriteRule ^comments\/feed\/?([_0-9a-z-]+)?\/?$\u00a0 [R=302,NC,L]<\/p>\n<p>&lt;\/IfModule&gt;<\/p>\n<p>#8 Redirecciones 301 para SEO con .htaccess<\/p>\n<p>&nbsp;<\/p>\n<p>Utiliza el siguiente c\u00f3digo para redirigir a una p\u00e1gina espec\u00edfica sin mostrar la antigua p\u00e1gina de error.<\/p>\n<p>&nbsp;<\/p>\n<p>Seguridad en WordPress Como configurar htaccess para evitar Hackeos redirecciones 301<\/p>\n<p>&nbsp;<\/p>\n<p>&lt;a class=&#8221;_hootified&#8221; a=&#8221;&#8221; href=&#8221;#&#8221; #seo&#8221;=&#8221;&#8221; onclick=&#8221;javascript:var e = document.createEvent(&#8220;CustomEvent&#8221;); e.initCustomEvent(&#8220;hootletEvent&#8221;, true, true, {type: &#8220;hash&#8221;, value: &#8220;#SEO&#8221;});\u00a0 document.body.dispatchEvent(e); return false;&#8221;&gt;#SEO&lt;\/a&gt; Friendly 301 Redirects<\/p>\n<p>Redirect 301 \/abc\/file.html http:\/\/www.tu_dominio.com\/def\/file.html<\/p>\n<p>#9 Forzar la cache desde .htaccess<\/p>\n<p>&nbsp;<\/p>\n<p>Este c\u00f3digo para el .htaccess no ayudar\u00e1 en la carga inicial de la p\u00e1gina web o blog, pero si lo har\u00e1 significativamente en posteriores cargas enviando estados 304 cuando los elementos solicitados no se hayan modificado.<\/p>\n<p>&nbsp;<\/p>\n<p>FileETag MTime Size<\/p>\n<p>ExpiresActive on<\/p>\n<p>ExpiresDefault &#8220;access plus x seconds&#8221;<\/p>\n<p>#10 Permitir \u00fanicamente tu IP para acceder al panel de administraci\u00f3n de WordPress<\/p>\n<p>&nbsp;<\/p>\n<p>Reemplaza la IP de la l\u00ednea de c\u00f3digo \u201cwith allow from xx.xx.xx.xx\u201d con la tuya para que s\u00f3lo tu IP pueda acceder al panel de administraci\u00f3n wp-admin de wordpress.<\/p>\n<p>&nbsp;<\/p>\n<p>AuthUserFile \/dev\/null<\/p>\n<p>AuthGroupFile \/dev\/null<\/p>\n<p>AuthName &#8220;WordPress Admin Access Control&#8221;<\/p>\n<p>AuthType Basic<\/p>\n<p>&lt;LIMIT GET&gt;<\/p>\n<p>order deny,allow<\/p>\n<p>deny from all<\/p>\n<p>allow from xx.xx.xx.xx<\/p>\n<p>&lt;\/LIMIT&gt;<\/p>\n<p>#11 Bloquear comentarios a peticiones no referenciadas (Spam)<\/p>\n<p>&nbsp;<\/p>\n<p>Simple truco para evitar que los spammers publiquen o ataquen tu p\u00e1gina web o blog.<\/p>\n<p>&nbsp;<\/p>\n<p>RewriteEngine On<\/p>\n<p>RewriteCond %{REQUEST_METHOD} POST<\/p>\n<p>RewriteCond %{REQUEST_URI} .wp-comments-post.php*<\/p>\n<p>RewriteCond %{HTTP_REFERER} !.*tu_dominio.com.* [OR]<\/p>\n<p>RewriteCond %{HTTP_USER_AGENT} ^$<\/p>\n<p>RewriteRule (.*) ^http:\/\/%{REMOTE_ADDR}\/$ [R=301,L]<\/p>\n<p>#12 Bloquear una IP spam<\/p>\n<p>&nbsp;<\/p>\n<p>Para bloquear ciertas direcciones IP para evitar que accedan a tu p\u00e1gina web o blog, a\u00f1ade las siguientes l\u00edneas de c\u00f3digo en tu archivo .htaccess y sustituye la direcci\u00f3n IP del ejemplo con la que quieras bloquear.<\/p>\n<p>&nbsp;<\/p>\n<p>## USER IP BANNING<\/p>\n<p>&lt;Limit GET POST&gt;<\/p>\n<p>order allow,deny<\/p>\n<p>deny from 200.49.176.139<\/p>\n<p>allow from all<\/p>\n<p>&lt;\/Limit&gt;<\/p>\n<p>#13 Denegar acceso al fichero de configuraci\u00f3n wp-config de WordPress<\/p>\n<p>&nbsp;<\/p>\n<p>El archivo wp-config.php de WordPress incluye toda la informaci\u00f3n importante, como el nombre de base de datos. Es vital tenerlo bien protegido.<\/p>\n<p>&nbsp;<\/p>\n<p># protect wpconfig.php<\/p>\n<p>&lt;files wp-config.php&gt;<\/p>\n<p>order allow,deny<\/p>\n<p>deny from all<\/p>\n<p>&lt;\/files&gt;<\/p>\n<p>#14 Limitar el peso de los archivos subidos a 20mb<\/p>\n<p>&nbsp;<\/p>\n<p>Para limitar el tama\u00f1o de los archivo que subes en wordpress hasta 20MB, utiliza el siguiente c\u00f3digo:<\/p>\n<p>&nbsp;<\/p>\n<p># limit file uploads to 10mb<\/p>\n<p>LimitRequestBody 10240000<\/p>\n<p>#15 Personalizar la p\u00e1gina de error 404 con .htaccess<\/p>\n<p>&nbsp;<\/p>\n<p># custom error pages<\/p>\n<p>ErrorDocument 401 \/err\/401.php<\/p>\n<p>ErrorDocument 403 \/err\/403.php<\/p>\n<p>ErrorDocument 404 \/err\/404.php<\/p>\n<p>ErrorDocument 500 \/err\/500.php<\/p>\n<p>#16 A\u00f1adir barra (\/) al final de las URLs<\/p>\n<p>&nbsp;<\/p>\n<p>Para a\u00f1adir una barra al final de tus enlaces (URLs), inserta el siguiente c\u00f3digo en tu archivo .htaccess:<\/p>\n<p>&nbsp;<\/p>\n<p>&lt;a class=&#8221;_hootified&#8221; a=&#8221;&#8221; href=&#8221;#&#8221; #trailing&#8221;=&#8221;&#8221; onclick=&#8221;javascript:var e = document.createEvent(&#8220;CustomEvent&#8221;); e.initCustomEvent(&#8220;hootletEvent&#8221;, true, true, {type: &#8220;hash&#8221;, value: &#8220;#trailing&#8221;});\u00a0 document.body.dispatchEvent(e); return false;&#8221;&gt;#trailing&lt;\/a&gt; slash enforcement<\/p>\n<p>RewriteBase \/<\/p>\n<p>RewriteCond %{REQUEST_FILENAME} !-f<\/p>\n<p>RewriteCond %{REQUEST_URI} !#<\/p>\n<p>RewriteCond %{REQUEST_URI} !(.*)\/$<\/p>\n<p>RewriteRule ^(.*)$ http:\/\/tu_dominio.com\/$1\/ [L,R=301]<\/p>\n<p>#17 Proteger directorios con contrase\u00f1as<\/p>\n<p>&nbsp;<\/p>\n<p>Seguridad en WordPress Como configurar htaccess para evitar Hackeos acceso denegado<\/p>\n<p>&nbsp;<\/p>\n<p>Una forma sencilla de proteger mediante contrase\u00f1a los directorios de tus blogs.<\/p>\n<p>&nbsp;<\/p>\n<p>AuthType Basic<\/p>\n<p>AuthName &#8220;restricted area&#8221;<\/p>\n<p>AuthUserFile \/usr\/local\/var\/www\/html\/.htpasses<\/p>\n<p>require valid-user<\/p>\n<p>#18 Resolver errores en los enlaces (URLs) con .htaccess<\/p>\n<p>&nbsp;<\/p>\n<p>Este truco puede ser \u00fatil para auto-corregir errores ortogr\u00e1ficos de tus enlaces (URLs).<\/p>\n<p>&nbsp;<\/p>\n<p>&lt;IfModule mod_speling.c&gt;<\/p>\n<p>CheckSpelling On<\/p>\n<p>&lt;\/IfModule&gt;<\/p>\n<p>#19 Asegurar los plugins de WordPress<\/p>\n<p>&nbsp;<\/p>\n<p>Los plugins de wordpress suelen tener \u201cpuertas traseras\u201d y suelen ser sitios por los que los hackers pueden entrar en tu p\u00e1gina web o blog. Para evitar que otras personas tengan acceso directo a los archivos de tus plugins usa el siguiente c\u00f3digo:<\/p>\n<p>&nbsp;<\/p>\n<p>&lt;Files ~ &#8220;\\.(js|css)$&#8221;&gt;<\/p>\n<p>order allow,deny<\/p>\n<p>allow from all<\/p>\n<p>&lt;\/Files&gt;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>htaccess SEO El fichero .htaccess (fichero de acceso a hipertexto) es un archivo de configuraci\u00f3n del nivel de directorio que permite la gesti\u00f3n descentralizada de la configuraci\u00f3n del servidor web. Un archivo .htaccess es siempre agregado en el directorio ra\u00edz y con \u00e9l se pueden modificar muchos par\u00e1metros de configuraci\u00f3n de WordPress, como pueden ser: &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"ast-button\" href=\"https:\/\/marketingweb.com.mx\/blog\/htaccess\/\"> <span class=\"screen-reader-text\">htaccess<\/span> Leer m\u00e1s \u00bb<\/a><\/p>\n","protected":false},"author":18,"featured_media":2207,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-global-header-display":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","_joinchat":[],"footnotes":""},"categories":[55,58,20],"tags":[145,116],"class_list":["post-2206","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-diseno-web","category-posicionamiento-web","category-seo","tag-htaccess","tag-seo"],"_links":{"self":[{"href":"https:\/\/marketingweb.com.mx\/blog\/wp-json\/wp\/v2\/posts\/2206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/marketingweb.com.mx\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/marketingweb.com.mx\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/marketingweb.com.mx\/blog\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/marketingweb.com.mx\/blog\/wp-json\/wp\/v2\/comments?post=2206"}],"version-history":[{"count":0,"href":"https:\/\/marketingweb.com.mx\/blog\/wp-json\/wp\/v2\/posts\/2206\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/marketingweb.com.mx\/blog\/wp-json\/wp\/v2\/media\/2207"}],"wp:attachment":[{"href":"https:\/\/marketingweb.com.mx\/blog\/wp-json\/wp\/v2\/media?parent=2206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/marketingweb.com.mx\/blog\/wp-json\/wp\/v2\/categories?post=2206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/marketingweb.com.mx\/blog\/wp-json\/wp\/v2\/tags?post=2206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}