martes, 7 de octubre de 2014

Ocultar que tu sitio está creado con WordPress

ocultar wordpress
Hay múltiples razones por las que alguien quiera ocultar el hecho de que un sitio esté creado con WordPress, pero para mi la única es la seguridad, pues es tan popular que suele ser objetivo de los hackers, y nunca está de más ponérselo complicado.
Afortunadamente es relativamente sencillo ocultar el hecho de que un sitio está hecho con WordPress, así que vamos a ver algunos modos de conseguirlo, luego tú aplicas los que más te gusten o sirvan.

Eliminar la categoría de la URL

Una de las evidencias de que un sitio está hecho con WordPress es el /category/ en las URLs así que un paso para conseguir esa ocultación deseada sería eliminar la categoría de las URLs. Conseguirlo es tan sencillo como añadir la siguiente regla a tu fichero .htaccess:
1RewriteRule ^category/(.+)$ http://tudominio.com/$1 [R=301,L]

Elimina cualquier referencia en el tema

Parece obvio, pero he visto más de un sitio en el que habían ocultado las carpetas o incluso la pantalla de acceso y luego en el tema se leía eso de “Powered by WordPress“, así que aunque parezca una tontería repasa sobre todo el pié de página (footer.php) de tu tema activo para eliminar cualquier referencia en este sentido.

Cambia la ubicación de la carpeta de subida de archivos

Otro elemento diferenciados de WordPress es que, por defecto, toda instalación subirá los archivos multimedia a la carpeta /uploads/ así que es un elemento a ocultar. Para cambiar la ubicación de la carpeta donde se suben los archivos en WordPress nada más fácil que añadas, antes de la línea require_once(ABSPATH.’wp-settings.php’); el siguiente código al fichero de configuración de WordPress (wp-config.php):
1define('UPLOADS''wp-content/archivos');
Lo ideal es hacerlo en una instalación nueva, para que no haya nada en la carpeta por defecto, en caso contrario te tocará mover todo lo que haya en /uploads/ a /archivos/

Cambiar la ubicación de wp-content

Lo anterior, no obstante, es un apaño, pues lo ideal es cambiar completamente la ubicación de la carpeta /wp-content/. Con el siguiente código, añadido al archivo wp-config.php lo consigues en un instante:
1define( 'WP_CONTENT_DIR''NUEVA RUTA A WP-CONTENT' );
Solo ten en cuenta el importante detalle de que la nueva ruta sea accesible vía web, así que lo mejor es crear una carpeta nueva, por ejemplo /files/ y la definas así.
También es importante, por supuesto, hacer esta modificación en una instalación nueva y comprobar que tus plugins son compatibles con esta posibilidad, que hay algunos que no funcionan en una ubicación distinta a la por defecto.

Cambiar la escritura de URLs

Una versión refinada de lo anterior sería, sin cambiar nada de su sitio, cambiar totalmente el rewrite de las URLs para que no haya ninguna referencia a /wp-content/ a /themes/ o a /plugins/.
Podemos crear una función como la siguiente:
01/**
02 * Reescritura de URLs
03 *
04 * Modifica el rewrite de:
05 *  /wp-content/themes/nombredeltema/include/css/ a /include/css/
06 *  /wp-content/themes/nombredeltema/include/js/ a /include/js/
07 *  /wp-content/themes/nombredeltema/include/img/ a /include/img/
08 *  /wp-content/plugins/ a /plugins/
09 */
10function nowp_add_rewrites($content) {
11    global $wp_rewrite;
12    $nowp_new_non_wp_rules array(
13        'assets/(.*)' => THEME_PATH . '/include/$1',
14        'plugins/(.*)'   => RELATIVE_PLUGIN_PATH . '/$1'
15    );
16    $wp_rewrite->non_wp_rules = array_merge($wp_rewrite->non_wp_rules,$nowp_new_non_wp_rules);
17    return $content;
18}
19 
20function nowp_clean_urls($content) {
21    if (strpos($content, RELATIVE_PLUGIN_PATH) > 0) {
22        return str_replace('/' . RELATIVE_PLUGIN_PATH,  '/plugins',$content);
23    else {
24        return str_replace('/' . THEME_PATH, ''$content);
25    }
26}
27 
28// No se hace rewrite en multisitio o temas hijo para no joderlo todo
29if ( !is_multisite() && !is_child_theme() ) {
30    add_action('generate_rewrite_rules''nowp_add_rewrites');
31    if ( !is_admin() ) {
32        $tags array(
33            'plugins_url',
34            'bloginfo',
35            'stylesheet_directory_uri',
36            'template_directory_uri',
37            'script_loader_src',
38            'style_loader_src'
39        );
40        add_filters($tags'nowp_clean_urls');
41    }
42}
Fíjate que en este ejemplo se da por hecho que existe una carpeta /include/ en el tema, que debes cambiar a la adecuada de tu tema activo.

Cambiar la ubicación de wp-config.php

Además, también es buena idea cambiar la ubicación del mismo fichero de configuración, sobre todo por cuestiones de seguridad. En esta ocasión lo único que tienes que hacer es moverlo a la carpeta superior a la de la instalación de WordPress, por ejemplo, de /public_html/web/ a /public_html/.

Oculta las referencias a WordPress en la cabecera del tema

Todos los temas WordPress contienen una serie de referencias en su cabecera que fácilmente identificarán tu sitio como un WordPress. Conviene, por diversos motivos, eliminarlas, sobre todo ocultar la que muestra la versión de WordPress. Para ello podemos crear una función o plugin que elimine toda referencia a la hoja de estilos, versión de WordPress y demás elementos que lo “delatan”:
01/**
02 * Limpieza de wp_head()
03 *
04 * Elimina enlaces innecesarios
05 * Elimina el CSS utilizado por el widget de comentarios recientes
06 * Elimina el  CSS utilizado en las galerías
07 * Elimina el cierre automático de etiquetas y cambia de ''s a "'s en rel_canonical()
08 */
09function nowp_head_cleanup() {
10    // Eliminamos lo que sobra de la cabecera
11    remove_action('wp_head''rsd_link');
12    remove_action('wp_head''wp_generator');
13    remove_action('wp_head''feed_links', 2);
14    remove_action('wp_head''index_rel_link');
15    remove_action('wp_head''wlwmanifest_link');
16    remove_action('wp_head''feed_links_extra', 3);
17    remove_action('wp_head''start_post_rel_link', 10, 0);
18    remove_action('wp_head''parent_post_rel_link', 10, 0);
19    remove_action('wp_head''adjacent_posts_rel_link', 10, 0);
20    remove_action('wp_head''adjacent_posts_rel_link_wp_head', 10, 0);
21    remove_action('wp_head''wp_shortlink_wp_head', 10, 0);
22    remove_action('wp_head''feed_links', 2);
23    remove_action('wp_head''feed_links_extra', 3);
24 
25    global $wp_widget_factory;
26    remove_action('wp_head'array($wp_widget_factory->widgets['WP_Widget_Recent_Comments'], 'recent_comments_style'));
27 
28    if (!class_exists('WPSEO_Frontend')) {
29        remove_action('wp_head''rel_canonical');
30        add_action('wp_head''nowp_rel_canonical');
31    }
32}
33function nowp_rel_canonical() {
34    global $wp_the_query;
35 
36    if (!is_singular()) {
37        return;
38    }
39 
40    if (!$id $wp_the_query->get_queried_object_id()) {
41        return;
42    }
43 
44    $link = get_permalink($id);
45    echo "\t<link rel=\"canonical\" href=\"$link\">\n";
46}
47add_action('init''nowp_head_cleanup');
48 
49 
50/**
51 * Eliminamos la versión de WordPress
52 */
53add_filter('the_generator''__return_false');
54 
55 
56/**
57 * Limpieza de los language_attributes() usados en la etiqueta <html>
58 *
59 * Cambia lang="es-ES" a lang="es"
60 * Elimina dir="ltr"
61 */
62function nowp_language_attributes() {
63    $attributes array();
64    $output '';
65 
66    if (function_exists('is_rtl')) {
67        if (is_rtl() == 'rtl') {
68            $attributes[] = 'dir="rtl"';
69        }
70    }
71 
72    $lang = get_bloginfo('language');
73 
74    if ($lang && $lang !== 'es-ES') {
75        $attributes[] = "lang=\"$lang\"";
76    else {
77        $attributes[] = 'lang="es"';
78    }
79 
80    $output = implode(' '$attributes);
81    $output = apply_filters('nowp_language_attributes'$output);
82 
83    return $output;
84}
85add_filter('language_attributes''nowp_language_attributes');

Cambia las rutas de acceso y administración

De nada serviría todo lo anterior si cualquiera puede ver la ruta de acceso a la administración de tu WordPress ¿no?
Hay muchas maneras de limitar el acceso a la pantalla de registro/acceso y la administración, pero quizás el más cómodo es usar un plugin como HC Custom admin. Puedes personaliza fácilmente las nuevas URLs a tu gusto.

Impedir acceder a la administración de WordPress

Ahora bien, si lo prefieres, igual es mejor no complicarte la vida y, directamente, impedir que nadie acceda a la administración de WordPress, ofreciendo una página de error 404, mucho más convincente.
Si esta es tu elección simplemente añade el siguiente código a tu plugin de utilidades o al archivo functions.php:
01//Redirigir de wp-admin a 404
02add_action('login_form','redirect_wp_admin');
03 
04function redirect_wp_admin(){
05$redirect_to $_SERVER['REQUEST_URI'];
06 
07if(count($_REQUEST)> 0 && array_key_exists('redirect_to'$_REQUEST)){
08$redirect_to $_REQUEST['redirect_to'];
09$check_wp_admin stristr($redirect_to'wp-admin');
10if($check_wp_admin){
11wp_safe_redirect( '404.php' );
12}
13}
14}

via | ayudaWordPress
Si te ha gustado haz click en la publicidad para poder mantener la web.
GRACIAS

También me puedes seguir por las redes sociales o suscribirte por email para estar informado de las ultimas noticias que publico.

Mas abajo tienes artículos relacionados con este mismo que acabas de leer saludos y gracias por tu visita



Articulos relacionados por categorias