Deprecated: Assigning the return value of new by reference is deprecated in /home/controlz/public_html/blog/wp-settings.php on line 472

Deprecated: Assigning the return value of new by reference is deprecated in /home/controlz/public_html/blog/wp-settings.php on line 487

Deprecated: Assigning the return value of new by reference is deprecated in /home/controlz/public_html/blog/wp-settings.php on line 494

Deprecated: Assigning the return value of new by reference is deprecated in /home/controlz/public_html/blog/wp-settings.php on line 530

Strict Standards: Declaration of Walker_Page::start_lvl() should be compatible with Walker::start_lvl(&$output) in /home/controlz/public_html/blog/wp-includes/classes.php on line 594

Strict Standards: Declaration of Walker_Page::end_lvl() should be compatible with Walker::end_lvl(&$output) in /home/controlz/public_html/blog/wp-includes/classes.php on line 594

Strict Standards: Declaration of Walker_Page::start_el() should be compatible with Walker::start_el(&$output) in /home/controlz/public_html/blog/wp-includes/classes.php on line 594

Strict Standards: Declaration of Walker_Page::end_el() should be compatible with Walker::end_el(&$output) in /home/controlz/public_html/blog/wp-includes/classes.php on line 594

Strict Standards: Declaration of Walker_PageDropdown::start_el() should be compatible with Walker::start_el(&$output) in /home/controlz/public_html/blog/wp-includes/classes.php on line 611

Strict Standards: Declaration of Walker_Category::start_lvl() should be compatible with Walker::start_lvl(&$output) in /home/controlz/public_html/blog/wp-includes/classes.php on line 705

Strict Standards: Declaration of Walker_Category::end_lvl() should be compatible with Walker::end_lvl(&$output) in /home/controlz/public_html/blog/wp-includes/classes.php on line 705

Strict Standards: Declaration of Walker_Category::start_el() should be compatible with Walker::start_el(&$output) in /home/controlz/public_html/blog/wp-includes/classes.php on line 705

Strict Standards: Declaration of Walker_Category::end_el() should be compatible with Walker::end_el(&$output) in /home/controlz/public_html/blog/wp-includes/classes.php on line 705

Strict Standards: Declaration of Walker_CategoryDropdown::start_el() should be compatible with Walker::start_el(&$output) in /home/controlz/public_html/blog/wp-includes/classes.php on line 728

Strict Standards: Redefining already defined constructor for class wpdb in /home/controlz/public_html/blog/wp-includes/wp-db.php on line 306

Deprecated: Assigning the return value of new by reference is deprecated in /home/controlz/public_html/blog/wp-includes/cache.php on line 103

Strict Standards: Redefining already defined constructor for class WP_Object_Cache in /home/controlz/public_html/blog/wp-includes/cache.php on line 425

Deprecated: Assigning the return value of new by reference is deprecated in /home/controlz/public_html/blog/wp-includes/query.php on line 21

Deprecated: Assigning the return value of new by reference is deprecated in /home/controlz/public_html/blog/wp-includes/theme.php on line 623

Strict Standards: Redefining already defined constructor for class WP_Dependencies in /home/controlz/public_html/blog/wp-includes/class.wp-dependencies.php on line 15

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/controlz/public_html/blog/wp-settings.php:472) in /home/controlz/public_html/blog/wp-content/plugins/si-captcha-for-wordpress/si-captcha.php on line 31

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/controlz/public_html/blog/wp-settings.php:472) in /home/controlz/public_html/blog/wp-content/plugins/si-captcha-for-wordpress/si-captcha.php on line 31

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method GoogleSitemapGeneratorLoader::Enable() should not be called statically in /home/controlz/public_html/blog/wp-includes/plugin.php on line 311
Redirigir error 404 a página personalizada con HTTP/1.0 200 OK | formatic.cat

Redirigir error 404 a página personalizada con HTTP/1.0 200 OK


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/controlz/public_html/blog/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2056

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/controlz/public_html/blog/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2056

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/controlz/public_html/blog/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2056

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/controlz/public_html/blog/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2056

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/controlz/public_html/blog/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2056

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/controlz/public_html/blog/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2056

Desde Cpanel, existe una opcion para personalizar la página de error. Pero solo nos permite usar páginas con extensión .shtml  pero que pasa si necesito usar una página dinámica?

Bueno cpanel te deja guardar la pagina con el nombre y extension que queramos, pero luego no actualiza la configuración de apache para que utilize dicha página. Asi que no nos queda mas remedio que usar un programa de ftp y modificar el fichero .httpacces de la raiz de nuestro server.

solo deberemos utilazar la siguiente frase. De entrada este fichero debe estar vacio. escribiremos:

ErrorDocument 404 /el-Fichero-Que-Queramos.php

Se purede usar cualquier extension, asp, cualquier fichero valido que queramos. En cualquier carpetam en este caso es un fichero en la raiz.

Con esa linea mandaremos a un fichero todos los errores ahora deberemos tratarlos adecuadamente.Podemos dejar un mensaje mas bonito y acorde a nuestro imagen corporativa. De todos modos si analizamos las cabezeras, la página sigue devolviendo error 404 http. Si lo que queremos no es conseguir que el usuario se sienta mejor y conservando el menu para que el usuario no se vaya. Sino que lo que queremos es que los buscadores crean que esa página existe de verdad. Deberemos modificar las cabeceras para que el buscador piense que la página si existia. maneras

  • en la pagina "el-Fichero-Que-Queramos.php " añadimos un header location 200 e hacemos lo que queramos para sacar una página distinta en funcion del fichero que se intentaba acceder. Asi por ejemplo si han intentado ir a: midominio.com/esto-no-existe   puedo capturar ese texto mediante las variables globales $_SERVER de php y hacer una busqueda en mi base de datos para sacar información relacionada con eso.
    • Otra opcion es redirigirles al index con una cabecera location y 301 Moved permanetly
  • PHP:
    1. header('Location:http://www.midominio.com/index.php?'.$busqueda,TRUE,301 );

    Además que pasa con los buscadores? como interpretan esto?

    Existen varias maneras de redirigir la página de error y hay varios motivos para hacerlo.

    En nuestro caso queremos utilizarlo para el posicionamiento y vamos ha utilizar la opción del Header HTTP/1.0 200 OK. Ahora todas las url del tipo:

    http://www.midominio.com/cualquier cadena de texto

    Irán a un fichero especial para enseñar el contenido de esa cadena de texto como resultado de una busqueda. Así google recogera esa url y creerá que existe y que hay contenido en ella. haciendo así casi infinitas las urls que va a tener la página. Tantas como queremos generar...

    Para ver que estamos haciendo bien lso headers y ver que verá google al acceder a nuestras páginas falsas o inexistentes podemos utilizar un visor de cabezaras.

    // realizamos las consultas necesarias para sacar los resultados de esas palabras

http://www.rexswain.com/httpview.html

PHP:
  1. $busqueda=str_replace('/','',$busqueda); // conseguimos la busqueda
  2. header('HTTP/1.0 200 OK');</blockquote>
  3. <blockquote>$busqueda=$_SERVER['REQUEST_URI'];

Ahora ya sabeis como conseguir que un error 404 se convierta en una página existente. Ahora todos podran pensar que si engañamos al buscador se nos va a penalizar, pero si en verdad. Lo utilizamos para sacar busquedas reales a esos conceptos son paginas reales. Lo único que buscamos es que google valore nuestra url como si de un dominio se tratara y no que coja una variable a las que les da menos peso.

así en vez de tener: www.midominio.com/index.php?variable=cadena a buscar

tenemos: www.midominio/cadena a buscar

esto hace que google y otros buscadores den mayor importancia a estas palabras consiguiendo mejor posición. El objetovo de redigir este 404 es mas que aceptable. Ademos podemos hacer sistemas mas complejos y primero realizar la busqueda y si vemos que no vamos a tener resultados, detectariamos que realmente es una pagina de error y podríamos sacar una página de eror con un error 301 Moved permanetly. o un 404 bonito :P

si alguien tiene dudas o creeo que no es bueno esto para el seo en buscadores, que nos comente y compartinmos experiencias. Pero nadie nos va a discutir los buscadores de cientos de palabras que estan bien posicionados, no?

Etiquetas: , , , ,

Un comentario para “Redirigir error 404 a página personalizada con HTTP/1.0 200 OK”


  1. Deprecated: Function ereg() is deprecated in /home/controlz/public_html/blog/wp-content/plugins/google-analyticator/google-analyticator.php on line 399
    Redirecciones a páginas 404 ‹ Alfonso Carbajal – alfonsocarbajal.com dice:

    [...] Un poco de Black Hat relacionado con las páginas 404 [...]

Deja un comentario

CAPTCHA Image Audio Version
Reload Image