Desarrollo web

Cómo añadir el Sitemap al fichero Robots .txt

Para añadir al fichero robots.txt la ubicación de tu sitemap.xml de tu página web solo tenemos que añadir en una linea separada del resto de las indicaciones que le damos a los robots la ubicación del ficherero sitemap.xml

Sería así
Fichero robots.txt

Sitemap: http://www.tudominio.net/sitemap.xml

Listo, con esto tendremos enlazado el sitemap en el fichero robots.txt.

Leer más

Como hacer un RSS dinámico con PHP

Este ejemplo muestra el código que he utilizado para realizar un RSS dinámico para un blog de una tienda online realizada con Opencart que no tenía RSS.

El fichero que crea es un xml, similar a este:

rss mysexhop

Y el código, es bastante sencillo, en este caso realizamos una conexión a la base de datos y después recuperamos tres campos, el titulo, el link y la descripción que irá en el texto de la noticia.

Solo tienes que cambiar la conexión a la base de datos y preparar la select que necesitas para recuperar esos tres campos, los otros datos tienes que poner los literales que quieras utilizar para tu RSS.

En este fichero está todo junto, tanto la conexión a la base de datos como la creación del RSS, aunque lo lógico sería tener un fichero dónde este la conexión a la base de datos y desde aquí llamarlo. Obviamente funciona igual de ambas maneras.

<?php  
	header("Content-Type: application/rss+xml; charset=iso-8859-1");  
?>
 
<?xml ?>
<rss version="2.0">
<channel>  
    <title>Noticias de mysexshop.es</title>  
    <link>http://www.mysexshop.es</link>  
    <description>Las mejores noticias de tu sexshop favorito</description>  
 
<?php  
    DEFINE ('USUARIO_BD', 'usuario');  
    DEFINE ('CLAVE_BD', 'clave');  
    DEFINE ('HOST_BD', 'localhost');  
    DEFINE ('NOMBRE_BD', 'labasededatos');  
 
	$conexion = mysql_connect(HOST_BD, USUARIO_BD, CLAVE_BD) or die ('No se pudo conectar a la BD');  
    mysql_select_db(NOMBRE_BD) or die ('No se pudo seleccionar la BD');  
 
	$consulta = "SELECT ld.title titulo, ld.meta_description detalle, CONCAT('http://www.mysexshop.es/',n.keyword) enlace FROM LatestNews l, LatestNews_description ld, (select SUBSTRING(query, 15) id_noticia, keyword from url_alias where lower (query) like 'latestnews_id=%') n where ld.latestnews_id = l.latestnews_id and n.id_noticia = l.latestnews_id ORDER BY l.date_added DESC";  
 
 $resultado = mysql_query($consulta) or die ('Error al ejecutar la consulta');  
 
    while ($fila = mysql_fetch_array($resultado, MYSQL_ASSOC)){  
        echo '<item> 
				  <guid>'.$fila['enlace'].'</guid> 
				  <title>'.$fila['titulo'].'</title> 
                  <link>'.$fila['enlace'].'</link> 
                  <description>'.$fila['detalle'].'</description> 
             </item>';  
    }  
?>
 
</channel>  
</rss>
Leer más

Cómo deshabilitar paises en Opencart

Para des-habilitar países en Opencart desde la base de datos tenemos que conocer que id de País queremos dejar activo y desactivar el resto.

Con esta Query podemos desactivar todos los paises menos España, cambiando el status de todos los países a 0.

Primero comprobamos que esté id corresponda a España, lanzando esta query:

SELECT * FROM country WHERE country_id =195;

Después actualizamos el status del resto de países para des-habilitarlos.

UPDATE country SET STATUS = 0 WHERE country_id <> 195;

Y listo, ya tenemos a España como único País activo.

Leer más

Control monousuario en Opencart

Control monousuario en opencart.

Este script se hizo inicialmente para una página de videos, en la que no querían que hubiese más de una sesión abierta por usuario, ya que querían controlar que cada usuario solo pudiese ver los videos en un sitio al mismo tiempo.
Con este script lograremos que cuando un usuario tenga abierta una sesión y abra otra en otra sitio se cierre la sesión que tenía abierta anteriormente.

Primero creamos la tabla control_session con la que queremos controlar las sesiones que se abren en nuestra página web.

CREATE TABLE control_session(
id INT NOT NULL AUTO_INCREMENT, 
PRIMARY KEY(id),
name VARCHAR(300), 
sessionid VARCHAR(300));

En las páginas dónde puedan hacer login los usuarios recuperaremos estas variables (por lo general será la página Account).

//insertamos en la tabla el id del customer y la sesión
 
$session1=  $this->session->getId();
$name    = $this->customer->getId();
 
$sql12="insert into control_session (sessionid,name ) values ('$session1','$name')";
 
$this->db->query($sql12);
$pruebastock1 = mysql_query($sql12);
 
// recuperamos la última sesión abierta.
$sql1="SELECT max(id), sessionid from control_session
WHERE name='prueba'";
 
$lanzaquery = mysql_query($sql1);
$recuperaid = mysql_fetch_array($lanzaquery);
$sessionid2 = $recuperaid['sessionid'];
 
echo "**********";
echo $sessionid2;
echo "**********";

Ahora insertaremos este código en el footer o en algun sitio que se cargue siempre en nuestra web o en el producto si queremos que se controle la sesión cuando el cliente llegue al producto. Así cada vez que nos movamos a una página dentro de Opencart que ejecute este código comprobaremos que la sesión abierta en ese navegador es la última, sino es se cerrará esa sesión.
Con lo que finalmente lograremos que haya una solamente una sesión abierta por cliente que esté subscrito.

//footer

//comparamos el customer y la session
 
$session1=  $this->session->getId();
$name    = $this->customer->getId();
 
echo "select";
$sql12="SELECT max(id) id from control_session
WHERE name='$name'" ;
 
$result = mysql_query($sql12);
$lanzaquery2 = mysql_fetch_array($result);
$result1 = $lanzaquery2['id'];
 
$sql123="SELECT max(id) id from control_session
WHERE name='$name' and sessionid='$session1'";
 
$result = mysql_query($sql123);
$lanzaquery3 = mysql_fetch_array($result);
$result2 = $lanzaquery3['id'];
echo '*'.$this->document->getTitle().'*';
echo "-----";
 
if ($result1==$result2){
echo 'Go!';
}else{
if ('My Account'==$this->document->getTitle()){
echo "Fuera";
}else {
session_destroy();
header("Refresh:0; url=index.php?route=common/home"); 
}
}

Finalmente, le reenviaremos a la página principal en el caso de que no coincida la última sesión con la sesión que el usuario tenga abierta en su navegador.

Leer más

Arreglar los permalink en wordpress | (Solución)

Para arreglar el funcionamiento de los permlinks en WordPress y que no se os quede la página en blanco cuando queréis acceder a los permalink, hay que modificar la función got_mod_rewrite que se encuentra en el fichero functions.php de WordPress. Solo tienes que sustituir la función got_mod_rewrite por la siguiente ya que existe un problema con algunos hosting y el módulo rewrite

function got_mod_rewrite() {
	//$got_rewrite = apache_mod_loaded('mod_rewrite', true); //old line with false negative;
	$got_rewrite = true;//force the response to true as we know mod_rewite is installed;
	return apply_filters('got_rewrite', $got_rewrite);
}
Leer más

Como comprobar los enlaces de tu web

Podemos comprobar los enlaces de nuestra web utilizando la herramienta gratuita W3C Link Checker

W3C Link Checker: Es te permite comprobar la calidad de los enlaces de tu web, si están rotos o si están correctamente.

Es importante ver que los links de tu web no están rotos, ya que Google tiene en cuenta para el posicionamiento de tu web que los links estén en buena calidad, y que no haya links rotos que lleven al usuario a errores de navegación.

links rotos

Leer más

Cómo redireccionar a conexiones seguras https SSL

Para redireccionar todas las conexiones de los navegadores a conexión segura https o SSL podemos hacerlo desde el fichero .htaccess.

Basta con activar el módulo rewrite y redireccionar todo el tráfico que venga por el puerto 80 a la url https, que es la que se utiliza para realizar las conexiones seguras.

Vamos al fichero .htaccess e incluimos las siguientes líneas:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.tudominio.com/$1 [R,L]
Leer más

Cómo hacer el fichero Robots.txt Opencart

El fichero Robots.txt  limita o permite a los spider o bot recoger información de tu web, la mayor parte de las veces se usa para indexar contenido, conocer la estructura de la web, ver que ficheros tiene la web, etc.

Muchas veces no nos interesa que los robots naveguen por toda la estructura de directorios del servidor, principalmente porque realizan peticiones al servidor y el servidor consume ancho de banda inútil. Otras veces no queremos que navegue por algunos directorios porque no queremos que indexe ese contenido.

Para opencart yo suelo utilizar un fichero robots similar a este:

 

User-Agent: *
Crawl-delay: 30
Disallow: /admin/
Disallow: /cache/
Disallow: /library/
Disallow: /system/
Disallow: /catalog/
Disallow: /download/
Disallow: /image/
Disallow: /cgi-bin/
Disallow: /vqmod
Disallow: /*.js$
Disallow: /*&limit
Disallow: /*&sort
Disallow: /*?route=checkout/
Disallow: /*?route=account/
Disallow: /*?route=product/search
Disallow: /*?route=affiliate/
Allow: /
 
User-agent: Mediapartners-Google
Disallow: /
User-agent: Adsbot-Google
Disallow: /

En este fichero bloqueamos el paso a algunas carpetas o directorios que no es necesario que pasen los robots, además bloqueamos el paso a los archivos js, y también ralentizamos las peticiones al servidor, ya que muchas veces los robots no paran de enviar solicitudes recargado el servidor.

Esta linea “Crawl-delay: 30″ sirve para ralentizar el paso de los robots, hay muchos robots que envían múltiples peticiones en segundos, que recargan nuestro servidor, con esto lograremos que no se tomen un tiempo antes de una nueva petición.

Si queréis que Google os indexe las imágenes tenéis que quitar esta linea
Disallow: /image/ o permitirle a Google que pase por aquí.

Leer más

¿Cómo desactivar las actualizaciones automáticas para WordPress?

A partir de la versión 3.7 de WordPress se han establecido por defecto las actualizaciones automáticas para los usuarios de WordPress.

Este cambio implica que si has modificado tus archivos de la instalación de WordPress puedas perder los cambios que has realizado, para no permitir que WordPress se actualize automáticamente podemos añadir una linea en nuestro archivo de configuración de WP.

Para desactivar la actualización automática tenemos que añadir esta linea en nuestro fichero de configuración wp-config.

define( 'WP_AUTO_UPDATE_CORE', false );
Leer más

Google Merchant y Opencart

Como agregar tu tienda Opencart a Google Merchant Center

Describimos como añadir tu tienda hecha con Opencart a Google Merchant Center sin utilizar ninguna extensión o plugin.

Para los que no os suene Google Merchant Center está disponible ya en España desde hacer meses y se utiliza para:

Google Merchant Center es un servicio que te permite subir datos de tus productos a Google y hacer que estén disponibles para Google Shopping u otros productos de Google.

Para añadir tu tienda de opencart debes de ir dentro de la parte de administración a Extensiones -> Rss Productos.

Aquí se mostrarán dos opciones, tienes que entrar en el de Google Base, habilitar el Google Base,

Una vez habilitado copias la url que te muestra, generas el rss , lo descargas y subes a Google Merchant Center. O si lo prefieres puedes hacerlo más fácil, te diriges a Google Merchant y le indicas que tu rss está en la siguiente dirección:

1
http://www.tudominio.com/googlebase.xml

Esta es la que envías a Google.

1
http://www.tudominio.com/googlebase.xml

Esta es la que muestra tu instalación:

1
http://www.tudominio.com/index.php?rout ... google_base

Y listo, ya te puedes anunciar, y utilizar este nuevo producto de Google después de que validen tu RSS.

Leer más

Como detectar iPhone y iPod

Detectar iPhone y iPod con JavaScript, PHP o .htaccess

Si necesitamos conocer si el usuario que llega hasta nuestra página esta usando un iPhone o un iPad, podemos controlarlo con código JavaScript o con código PHP, o en el fichero .htaccess

Detectar iPhone y iPod con JavaScript

Para JavaScript sería así:

if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) {
	 if (document.cookie.indexOf("iphone_redirect=false") == -1) window.location = "http://www.tu-sitio-para-iphone-ipad.com";
}

Esto lo haría en el lado cliente, es decir cuando se ha cargado este JavaScript en el usuario.

Detectar iPhone y iPod con PHP

Para PHP el código sería así:

Este código funcionaría en el lado del servidor utilizando PHP, que en mi opinión es preferible, con este metodo checkeamos el “agente usuario” con el que el cliente solicita la web.

if(strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'],'iPod'))
{
	header('Location: http://www.tu-sitio-para-iphone-ipad.com');
	exit();
}

Detectar iPhone y iPod con .htaccess

También podemos detectarlo desde el servidor utilizando el fichero .htaccess, realizando esta modificación el este fichero, si tu servidor web es apache :

RewriteCond %{HTTP_USER_AGENT} ^.*iPhone.*$
RewriteRule ^(.*)$ http://tu-sitio-para-iphone-ipad.com [R=301]
Leer más

Configurar Opencart para mostrar precios con impuestos

Configurar Opencart para mostrar precios con impuestos.

Para configurar Opencart y que tu tienda muestre los precios con impuestos tenemos que seguir una serie de pasos , os resumo todos los pasos y en algunos casos podéis saltaros algunos de ellos dependiendo de la configuración de tu Opencart.

Paso uno.

Ir a sistema -> configuración -> opciones
Dentro de AJUSTES tienes que tener seleccionado la opción “mostrar precio con IVA” en si.

Paso dos

Ir a Sistema -> Local -> Zona
Tienes que tener el pais puesto aquí, en este caso España.

Paso tres

Ir a Sistema -> Local -> Zona -> GEO Zona
Inserta una nueva geo Zona:
Nombre de la Geo Zona: Zona España
Descripción: IVA para España

Muestra un listado de los sitios que puedes agregar a esta Geo Zona, dónde luego quieres aplicar el impuesto.

Paso Cuatro

Ir a Sistema -> Local -> Tipos de impuestos

Añadimos un impuesto nuevo.

Nombre: IVA 21%
Descripción: IVA

Muestra un listado dónde deberas escoger las zonas que hemos realizao en el paso anterior, en este caso la “Zona España”, pondremos una descripción y el valor o porcentaje que se debe de aplicar a este impuesto.

Paso Cinco

Ir a sistema-> configuración

Dentro de ajustes vamos a la pestaña ubicación y seleccionamos la ubicación de España.

Paso Seis

Ir a catálogo -> productos
Añadimos un producto nuevo, y vamos a la segunda pestaña en la que pone “datos”, veremos un campo en el que pone tipo de impuestos y aquí selecionamos el impuesto que queremos aplicar, que en este caso queremos aplicar el IVA 21%.

Paso Siete

Ir a Extensiones -> total
Comprobamos que esté instalada el módulo que pone “impuestos” y que esté habilitada, ahora ponemos el orden en el que queremos que se apliquen esos impuestos.

Leer más