ADMINISTRACION DE BASE DE DATOS

miércoles, 27 de febrero de 2019

PRACTICA: TUTORIAL DE DJANGO GIRLS

1. CREACIÓN DEL PROYECTO


Creamos nuestro proyecto en base a los conocimientos antes vistos  desde el cmd.



Enseguida correremos una migración de datos que ha sido creada en el reciente proyecto. Con el siguiente comando se debería iniciar:

python manage.py migrate


Una vez que las migraciones se han hecho, corremos el servidor  mediante el comando python manage.py runserver, ya que de esta manera podremos acceder al sitio que nuestro proyecto ha creado en Django.


2. MODELOS

Definen la estructura de los datos almacenados, incluidos los tipos de campo y los atributos de cada campo, como su tamaño máximo, valores predeterminados, lista de selección de opciones, texto de ayuda para la documentación, texto de etiqueta para formularios, etc.

Para este punto vamos a crear una aplicación dentro del mismo proyecto que tenemos: 




Una vez que ya hemos creado la aplicaciòn dentro de nuestro proyecto, volvemos al mismo , en donde bucaremos en el archivo de Settings.py el apartado de Installed App, donde daremos de alta el blog para comenzar a trabajar con èl:


3. CREAR UN MODELO EN LA APLICACIÒN BLOG

Dentro de la aplicaciòn del blog iremos al apartado de "Models" que se ha creado, en donde copiaremos el siguiente còdigo:


from django.db import models
from django.utils import timezone
 
 
class Post(models.Model):
    author = models.ForeignKey('auth.User', on_delete=models.CASCADE)
    title = models.CharField(max_length=200)
    text = models.TextField()
    created_date = models.DateTimeField(
            default=timezone.now)
    published_date = models.DateTimeField(
            blank=True, null=True)
 
    def publish(self):
        self.published_date = timezone.now()
        self.save()
 
    def __str__(self):
        return self.title

Para comprender màs sobre la sintaxis dentro de la clase, aquì mostramos las siguientes definiciones:


  • models.CharField, así es como defines un texto con un número limitado de caracteres.
  • models.TextField, este es para texto largo sin límite.
  • models.DateTimeField, este es fecha y hora.
  • modelos.ForeignKey, este es una relación (link) con otro modelo

Una vez que tenemos nuestro modelo, vamos a realizar las tablas que van a guardar la información con este modelo que acabamos de crear. Para crear una tabla es muy sencillo, únicamente volvemos a nuestro cmd y ejecutamos el comando python manage.py makemigration blog.

Una vez hecho esto, corremos el comando python manage.py migrate blog, python tomara el archivo que se creo de migraciones en la primera linea de comando para comenzar a fabricar las tablas de información de nuestra aplicación.


Para agregar, borrar y editar los post con el modelo que se ha agregado,utilizaremos un admin de Django.

Dentro del apartado de admin en los archivos de nuestra aplicación, se agregara el siguiente código borrando todo lo demás que este en el archivo.

from django.contrib import admin
from .models import Post

admin.site.register(Post)

Dentro del código, se esta importando el modelo que se había hecho anteriormente. Para hacer visible el modelo hay que registrarlo como se hace en la ultima linea.

Una vez hecho esto,entraremos a la pagina que nos da nuestro proyecto: http://127.0.0.1:8000/admin/
Dentro de la pagina, nos pedirá un usuario y contraseña como se muestra.


Para poder acceder a todo lo que ya hemos creado en nuestro proyecto, crearemos un superusuario el cual tendrá acceso a cualquier tipo de información dentro del proyecto.
Para crearlo, vamos a nuestro cmd de nuevo y ejecutamos el comando python manage.py createsuperuser .
Nos pedirá el nombre, correo y contraseña de dicho usuario(ojo: al poner la contraseña no saldrá ningún carácter por motivo de seguridad de django).



Una vez hecho esto, corremos nuestro servidor de nueva cuenta e ingresamos con el usuario y contraseña que hemos creado para ingresar a esta pagina.


PROGRAMA EDAD MAYOR O MENOR: EMU8086


org 100h

.model small
.stack 64 ;segmento de pila

.data                         
diez db 10 ;variable para poder convertir dos caracteres (el primer caracter multiplica al 
;10 para convertir en decimal)
num1 db 0; variable para la edad
mensaje db "INGRESA TU EDAD: ", "$"
mensaje2 db "ERES MAYOR DE EDAD" , "$" 
mensaje3 db "ERES MENOR DE EDAD" , "$"

.code ;seccion del codigo

    inicio proc Far ;inicia procedimiento
        mov ax, @data ; direccionamiento del segmento datos
        mov ds, ax ;los datos se mueven a ax
        
        ;primer mensaje
        mov ah, 09
        lea dx, mensaje
        int 21h ;interrupcion necesaria  
        
        
        ;entradas desde el teclado
        
        mov ah, 01; para que el cursor este esperando un valor
        int 21h    
        sub al, 30h ;convirtiendo el valor   
        mul diez ;se multiplica el numero ingresado para decenas
        mov num1, al
        
        ;pedir valor  2
        
        mov ah, 01
        int 21h
        sub al, 30h ;resta lo que se ingresa en "al"
        add num1, al ;suma la multiplicacion con lo que se tiene en al 
        ;(se suma a las decenas obtenidas)
        mov al, num1
        
        
        cmp al, 18 ; if (compara si el registro al=18)
        jge mayor ;(en caso de que sea mayor, etiqueta=Es mayor)
        jmp menor ;en caso de que no se cumpla, Etiqueta=menor
        
        mayor: 
            mov ah, 09
            lea dx, mensaje2
            int 21h ;interrupcion necesaria   
            jmp fin     
            
        menor:
        
            mov ah, 09
            lea dx, mensaje3
            int 21h ;interrupcion necesaria
            
        fin:
            mov ax, 4C00H
        
      
      
      inicio endp
        

ret



PROGRAMA QUE DETERMINA SI UN ALUMNO ESTÀ REPROBADO O NO: EMU8086


org 100h

.model small
.stack 64

.data ;seccion de variables
    msg1 db "Dame una calificacion (seguida de un enter): $"
    aprobado db 13, 10, "Aprobado$"
    reprobado db 13, 10, "Reprobado$"
    VAR1 dw ?, "$"
    VAR2 dw ?, "$"
    VAR3 dw ?, "$"
    
    

.code ;segmento de codigo
resultado PROC FAR
    mov ax, @data  ;como inicio
    mov ds, ax         
    
;--------DESPLEGAR PRIMER MENSAJE------
    mov ah, 09H 
    lea dx, msg1
    int 21h 
    
    ;----PEDIR CARACTER---
    mov ah, 01
    int 21h
    mov VAR1, ax
    
    ;----PEDIR SEGUNDO CARACTER---
    mov ah, 01
    int 21h
    mov VAR2, ax
    
    ;----PEDIR TERCER CARACTER---
    mov ah, 01
    int 21h
    mov VAR3, ax
    
    
    ;----EVALUAR LA CALIFICACION---
    
    CMP AL, 13
    JE  CONTINUE
    JMP MAYOR
    
    
    ;----INICIA FUNCION-----
    
CONTINUE:
        MOV AX, VAR1
        CMP AL, 037H
        JGE MAYOR
        JMP MENOR
    
    
MAYOR:
        MOV AH, 09
        lea dx, aprobado
        int 21h
        JMP SALIR
        
MENOR:
        MOV AH, 09
        lea dx, reprobado
        int 21h         
        JMP SALIR
        
SALIR:
        MOV AX, 4C00H
        INT 21H

RESULTADO ENDP
END




REGISTROS EN ENSAMBLADOR 8086

En esta ocasión veremos los registros básicos a la hora de programar dentro de ensamblador. Si bien, tenemos varios registros dentro de lo que es nuestro ensamblador, pero en esta oportunidad solo nos enfocaremos en los mas básicos y en los cuales estaremos trabajando durante el curso.

Los registros que veremos son:


AX    Acumulador
BX    Registro base
CX    Registro contador
DX    Registro de datos


El registro AX se usa para almacenar resultados, lectura o escritura desde o hacia los puertos.
El registro BX sirve como apuntador base o indice.
El registro CX se utiliza en operaciones de iteracion, como un contador que se va incrementado o decrementa de acuerdo con el tipo de instrucción dada. Mas comúnmente, utilizado en algún ciclo.
El registro DX se usa como puente para el acceso de datos.

Cada uno de estos registros sirven de diferente forma dentro de los programas. Anteriormente, habíamos utilizado el registro AX y BX para guardar datos numéricos en hexadecimal.


Como un ejemplo base de lo que estamos hablando anteriormente, tenemos el siguiente programa que consta de imprimir el abecedario:




org 100h
    MOV DL, "A" ;se transfiere la letra A al registro (valor en hexadecimal del assembler 8086"dar clic al codigo ascii")
    MOV CX, 26 ;se asigna el 26 al registro cx
  imprime: ;va a imprimir hasta acabar las 26
    MOV AH, 02 ;se va a tranferir el 02 al acumulador de byte
    INT 21h ;dato ascii leido desde el teclado
    INC DL  ;incrementa dl
   LOOP imprime ;continua


ret





PRACTICA 2: PROGRAMA DE SUMA Y RESTA

1. SUMA

org 100h

.model small
.stack 64
.data
 n1 db 0
 n2 db 0
 resta db 0
 msg1 db "Ingrese el primer valor:", '$'
 msg2 db 10,13, "Ingrese el segundo valor:", '$'
 msg3 db 10,13, "Resta=", '$'
 .code
 
 begin proc far
    ;direccionamos al segmentos de datos
    mov ax,@data
    mov ds,ax
    
    ;solicitamos el primer digito
    mov ah,09
    lea dx,msg1
    int 21h  
    ;se lee el primer valor
    mov ah,01
    int 21h
    sub al,30h; convierte el caracter en numero
    mov n1,al        
    
    ;solicitamos el segundo digito
    mov ah,09
    lea dx,msg2
    int 21h
    mov ah,01
    int 21h
    sub al,30h;convierte el caracter en numero
    mov n2,al
    
    ;operacion
    mov al,n1 ;lo que esta en n1 lo asigna a al
    sub al,n2 
    add al,30h;convierte a caracter
    mov resta,al
    mov ah,09
    lea dx,msg3
    int 21h
    
    ;se imprime el caracter con el servicio 02 de la int 21h
    mov ah,02  ;valor que se usa para poner algo en pantalla
    mov dl,resta 
    int 21h
    mov ah,4ch
    begin endp   
 
 end
    

ret







2. RESTA


org 100h         


.model small
.stack 64
.data
    n1 db 0
    n2 db 0
    s db 0
    msg1 db "Dame el primer valor: ", "$"
    msg2 db "Dame el segundo valor: ", "$"
    msg3 db "Suma = ", "$"
.code
    begin proc far
        ;direccionamos al segmentos de datos 
        mov ax, @data
        mov ds, ax
        
        ;solicitamos el primer digito
        mov ah, 09
        lea dx, msg1
        int 21h        
        
        ;lee el primer valor
        mov ah, 01
        int 21h
        sub al, 30h ;convierte el caracter en numero
        mov n1, al      
        
        ;solicitamos el segundo digito
        mov ah, 09
        lea dx, msg2
        int 21h
        mov ah, 01
        int 21h
        sub al, 30h; convierte el caracter en numero
        mov n2, al
        
        ;operacion
        mov al, n1
        add al, n2
        add al, 30h ;convierte a caracter
        mov s, al
        mov ah, 09
        lea dx, msg3
        int 21h
        
        ;se imprime el caracter con el servicio 02 de la int 21h
        mov ah, 02
        mov dl, s
        int 21h          
        mov ah, 4ch
        int 21h
        Begin endp
        end 
        
ret








LISTA DE INTERRUPCIONES EN ENSAMBLADOR 8086



TABLA DE INTERRUPCIONES




SERVICIOS DE LA INTERRUPCIÒN 10H (VIDEO)


SERVICIOS DE LA INTERRUPCIÒN  15H (ROM BIOS)



SERVICIOS DE LA INTERRUPCIÒN  16H (TECLADO)


SERVICIOS DE LA INTERRUPCIÒN  21H (SISTEMA)




martes, 26 de febrero de 2019

PRACTICA: HOLA MUNDO

A continuación veremos un programa en código ensamblador en emu8086:




.MODEL SMALL
.STACK
.DATA
CADENA1 DB 'HOLAMUNDO $'
CADENA2 DB 'HOLAMUNDO2 $'
.CODE
PROGRAMA:
    MOV AX,@DATA
    MOV DS,AX
    MOV DX,OFFSET CADENA1
    MOV AH,9
    INT 21H
    MOV DX,OFFSET CADENA2
    MOV AH,9
    INT 21H
END PROGRAMA


martes, 19 de febrero de 2019

ANALISIS DE LOS MANEJADORES DE BASES DE DATOS




MySQL es un software de sistema gestión de base de datos relacional que se puede ejecutar en los sistemas operativos GNU/Linux, Windows y Mac, se ejecuta de forma multi-thread y multiusuario y es distribuido por Oracle bajo la licencia GPL y comercial. Este sistema gestor de base de datos es el mas popular del mundo, su uso en las aplicaciones web, tales como en WordPres, Joomla y entre otros , Por ser distribuido bajo la licencia GPL existen diferentes apis o interfaces de programación de aplicaciones para diversos lenguajes de programación para acceder a la base de datos de MySQL.
VENTAJAS
  • MySQL software es Open Source
  • Velocidad   al realizar las operaciones, lo que le hace uno de los gestores con mejor      rendimiento.
  • Bajo      costo en requerimientos para la elaboración de bases de datos, ya que      debido a su bajo consumo puede ser ejecutado en una máquina con escasos      recursos sin ningún problema.
  • Facilidad      de configuración e instalación.
    Soporta gran variedad de Sistemas Operativos
  • Baja      probabilidad de corromper datos, incluso si los errores no se producen en      el propio gestor, sino en el sistema en el que está.
  • Su      conectividad, velocidad, y seguridad hacen de MySQL Server altamente      apropiado para acceder bases de datos en Internet
  • El      software MySQL usa la licencia GPL
DESVENTAJAS
  • Un gran porcentaje de las utilidades de MySQL no están      documentadas.
  • No es intuitivo, como otros programas (ACCESS).



Oracle es un sistema de gestión de base de datos desarrollado por la compañía Oracle, este sistema es de tipo modelo objeto relacional, por el cual es uno de los gestores de bases de datos mas completo como: soporte de transacciones, estabilidad, escalabilidad  y puede correr en los sistemas operativos GNU/LINUX, Windows, Mac y entre otros.
Comprar la licencia de este sistema de gestor de base datos es muy caro que asciende varios miles de dólares según a la versión  y licencia, sin embargo existe una versión express  solo para fines autoeducativos estrictamente.
VENTAJAS
  • Oracle es el motor de base de datos objeto-relacional más usado a nivel mundial.
  • Puede ejecutarse en todas las plataformas, desde una Pc hasta un supercomputador.
  • Oracle soporta todas las funciones que se esperan de un servidor "serio": un lenguaje de diseño de bases de datos muy completo (PL/SQL) que permite implementar diseños "activos", con triggers y procedimientos almacenados, con una integridad referencial declarativa bastante potente.
  • Permite el uso de particiones para la mejora de la eficiencia, de replicación e incluso ciertas versiones admiten la administración de bases de datos distribuidas.
  • El software del servidor puede ejecutarse en multitud de sistemas operativos.
  • Existe incluso una versión personal para Windows 9x, lo cual es un punto a favor para los desarrolladores que se llevan trabajo a casa.
  • Oracle es la base de datos con más orientación hacía INTERNET.
DESVENTAJAS
  • Las versiones más recientes de Oracle son la 11g, 10g, 9g, 8g, desde el lanzamiento original de la 8 se sucedieron varias versiones con correcciones, hasta alcanzar la estabilidad en la 8.0.3. El motivo de tantos fallos fue, al parecer, la remodelación del sistema de almacenamiento por causa de la introducción de extensiones orientadas a objetos.
  • El mayor inconveniente de Oracle es quizás su precio. Incluso las licencias de Personal Oracle son excesivamente caras, en mi opinión. Otro problema es la necesidad de ajustes. Un error frecuente consiste en pensar que basta instalar el Oracle en un servidor y enchufar directamente las aplicaciones clientes. Un Oracle mal configurado puede ser desesperantemente lento.
  • También es elevado el coste de la información, y sólo últimamente han comenzado a aparecer buenos libros sobre asuntos técnicos distintos de la simple instalación y administración.




PostgreSQL es un sistema gestor de base de datos relacional de código abierto de muchos otros proyectos, multiplataforma, orientado a objetos bajo la licencia PostgreSQL que es similara a la BSD de la MIT. Para usar el gestor de base datos  existen interfaces de programación para muchos  lenguajes de programación como por ejemplo: C/C++, Java PL/Java web, PL/Perl y demás.

VENTAJAS
  • INSTALACIÓN ILIMITADA Y GRATUITA: Podemos instalarlo en todos los equipos que queramos. Independientemente de la plataforma y la arquitectura que usemos, PostgreSQL está disponible para los diferentes SO, Unix, Linux y Windows, en 32 y 64 bits. Ésto hace de PostgreSQL un sistema multiplataforma y también hace que sea más rentable con instalaciones a gran escala.
  • GRAN ESCALABILIDAD: Nos permite configurar PostgreSQL en cada equipo según el hardware. Por lo que es capaz de ajustarse al número de CPU y a la cantidad de memoria disponible de forma óptima. Con ello logramos una mayor cantidad de peticiones simultáneas a la base de datos de forma correcta.
  • ESTABILIDAD Y CONFIABILIDAD: Tiene más de 20 años de desarrollo activo y en constante mejora. No se han presentado nunca caídas de la base de datos. Ésto es debido a su capacidad de establecer un entorno de Alta disponibilidad  y gracias a Hot-Standby, que nos permite que los clientes puedan realizar consultas de solo lectura mientras que los servidores están en modo de recuperación o espera. Así podemos hacer tareas de mantenimiento o recuperación sin bloquear completamente el sistema.
  • PGADMIN: Se trata de una herramienta gráfica con la que podemos administrar nuestras bases de datos de forma fácil e intuitiva. Podemos ejecutar sentencias SQL, e incluso crear copias de seguridad o realizar tareas de mantenimiento.
  • ESTÁNDAR SQL: implementa casi todas las funcionalidades del estándar ISO/IEC 9075:2011, así pues, resulta sencillo realizar consultas e incluir scripts de otros Motores de Bases de Datos.
  • POTENCIA y ROBUSTEZ: PostgreSQL cumple en su totalidad con la característica ACID Compliant. ACID es un acrónimo de Atomicity, Consistency, Isolation y Durability (Atomicidad, Consistencia, Aislamiento y Durabilidad en español). Por ello permite que las transacciones no interfieran unas con otras. Con ello se garantiza la información de las Bases de Datos y que los datos perduren en el sistema.
  • EXTENSIBILIDAD: tenemos a nuestra disponibilidad una gran variedad de extensiones distribuidas por el grupo de desarrolladores de PostgreSQL. También por terceros o incluso nosotros mismos podemos crear nuestras propias extensiones. Éstas extensiones pueden ser lenguajes de programación, tales como, Perl, Java, Python, C++ y muchos más.

DESVENTAJAS
  • Es relativamente lento en inserciones y actualizaciones en bases de datos pequeñas, PostgreSQL está diseñado para ambientes de alto volumen. Ésto hace que la velocidad de respuesta pueda parecer lenta en comparación con bases de datos de pequeño tamaño.
  • Soporte oficial: No cuenta con un soporte en línea o telefónico. PostgreSQL cuenta con foros oficiales donde los usuarios pueden exponer sus dudas que responden otros usuarios de la comunidad. También, disponemos soporte empresarial como EnterpriseDB o TodoPostgreSQL. Cabe resaltar que la comunidad de usuarios PostgreSQL es una de las más activas en el mercado.
  • La sintaxis de algunos de sus comando o sentencias puede llegar a no ser intuitiva si no tienes un nivel medio de conocimientos en lenguaje SQL.



Microsoft SQL Server  un software propietario de gestión de base de datos creado por la compañía Microsoft disponible, lamentablemente  solo se puede usar en el sistema operativo Windows, aunque recientemente anunciaron que SQL Server 2016 estaría disponible para GNU/Linux para este fin de año.

Con este sistema de gestión de base datos se puede trabajar en modo cliente y servidor, para aquellos que quieran utilizar se puede descargar una versión express para fines educativos, para la cual también existen apis para diferentes de tipos lenguajes de programación.

VENTAJAS
  • Es un sistema de gestión de base de datos.
  • Es útil para manejar y obtener datos de la red de redes.
  • Nos permite olvidarnos de los ficheros que forman la base de datos.
  • Si trabajamos en una red social nos permite agregar otros servidores de SQL Server. Por ejemplo dos personas que trabajan con SQL Server, uno de ellos se puede conectar al servidor de su otro compañero y así se puede ver las bases de datos del otro compañero con SQL Server.
  • SQL permite administrar permisos a todo. También  permite que  alguien conecte su SQLO al nuestro pero sin embargo podemos decirle que no puede ver esta base de datos pero otro si.

DESVENTAJAS


  • Utiliza mucho la memoria RAM  para las instalaciones y utilización de software.
  • No se puede utilizar como practicas porque se prohíben muchas cosas, tiene restricciones en lo particular.
  • La relación, calidad y el precio esta muy debajo comparado con oracle.
  • Tiene muchos bloqueos a nivel de página, un tamaño de página fijo y demasiado pequeño, una pésima implementación de los tipos de datos variables.




MariaDB   es un programa sistema de manejo de bases de datos  multiplataforma descendiente de MySQL creado en el año 2009  por el descontento de modelo de desarrollo. Se distribuye bajo la licencia GPL que es una software completamente libre y además se ha introducido dos nuevos motores de almacenamiento Aria y XtraDB en sustitución de MyISAM y InnoDB. 
Para usar este gestor de base datos existen apis para los diferentes lenguajes de programación e incluso los mismos apis que se usan para MySQL son compatibles.

VENTAJAS
  • Nuevos motores de almacenamiento más eficientes. Aria y XtraDB vienen a reemplazar a MyISAM e InnoDB respectivamente. Cabe destacar el mayor rendimiento de Aria, cuando recibe consultas complejas y tiene que realizar tablas temporales, éstas se cachean en memoria en vez de escribirlas en disco.
  • Estadísticas para índices y tablas que pueden ayudar para la optimización de la base de datos. Se añaden nuevas tablas de sistema para recoger esta información.
  • En general, muchas mejoras para aumentar el rendimiento y la eficiencia con respecto a MySQL.

DESVENTAJAS

  • La migración de un sistema muy testado y fiable como es MySQL. Aunque se garantiza una absoluta compatibilidad, y un gran sistema estable y potente, hay que valorar si a día de hoy merece pasar todo mi sistema a MariaDB.



SQLite es un sistema de manejo de bases de datos de tipo modelo relacional multiplataforma, este gestor de base datos se diferencia entre los demás que son cliente-servidor, si no es una biblioteca en proceso que implementa un sistema autónomo, sin necesidad de hacer configuración. SQLite es una base de datos SQL embebido motor, que se puede  leer y escribir directamente a los archivos de disco normal, cuyo archivo  puede soportar con la versión 3 de SQLite hasta 2 Terabytes.

VENTAJAS

  • My SQL es un software es Open Source (código abierto), además  ofrece velocidad   al realizar las operaciones, lo que le hace uno de los gestores con mejor rendimiento.
  • Bajo  costo en requerimientos para la elaboración de bases de datos, ya que debido a su bajo consumo puede ser ejecutado en una máquina con escasos recursos sin ningún problema también posee facilidad      de configuración e instalación y soporta gran variedad de Sistemas Operativos.

DESVENTAJAS

  • Una de las principales desventajas de My SQL es que es muy limitada y no soporta integridad relacional ni transacciones en aplicaciones web no muy complejas que requieren muchos usuarios.

TIPOS DE ERRORES


Existen dos tipos de errores, que a su vez se clasifican en varios más:

  • Errores del sitio web.
  • Errores de URL.

En los errores del sitio web  se indican los principales problemas que durante los últimos 90 días han impedido al robot de Google acceder a todo tu sitio web.  Se clasifican de la siguiente manera:


ERRORES DE DNS


Un error de DNS se produce cuando el robot de Google no puede comunicarse con el servidor DNS, ya sea porque el servidor esté inactivo o porque la asignación de DNS a tu dominio sea incorrecta. Aunque la mayoría de los errores o de las advertencias de DNS no influyen en la capacidad del robot de Google de acceder a un sitio web, pueden ser indicativos de unos valores de latencia elevados que pueden tener repercusiones negativas en los usuarios.



ERRORES DEL SERVIDOR



Cuando veas este tipo de error de URL, quiere decir que el robot de Google no ha podido acceder a la URL en cuestión, que se ha agotado el tiempo de espera de la solicitud o que el sitio web estaba ocupado. En consecuencia, el robot de Google ha tenido que abandonar la solicitud. 




En los errores de URL  se enumeran los errores específicos que Google ha detectado al intentar rastrear determinadas páginas para ordenadores o teléfonos. Se clasifican de la siguiente manera:

ERRORES DE URL FRECUENTES



  • Tipo de error



  • Descripción

  • Error del servidor
Cuando veas este tipo de error de URL, quiere decir que el robot de Google no ha podido acceder a la URL en cuestión, que se ha agotado el tiempo de espera de la solicitud o que el sitio web estaba ocupado. En consecuencia, el robot de Google ha tenido que abandonar la solicitud.








  • Error soft 404
Normalmente, cuando el visitante solicita una página que no existe, el servidor muestra un error 404 (página no encontrada). Este código de respuesta HTTP indica claramente a los navegadores y a los motores de búsqueda que la página no existe. En consecuencia, los motores de búsqueda no rastrean ni indexan el contenido de la página (si lo hubiera).
Un error soft 404 sucede cuando el servidor muestra la página real de una URL que en realidad no existe en tu sitio web. Esto suele suceder cuando el servidor gestiona URL defectuosas o no existentes como URL correctas, por lo que redirecciona al usuario a una página válida, como la página principal o una página 404 personalizada.  
Esto se debe a que los motores de búsqueda pueden invertir mucho tiempo en rastrear e indexar las URL no existentes, y a veces duplicadas, en el sitio web. El hecho de que no se detecten URL reales y exclusivas rápidamente o de que estas no reciban visitas frecuentes podría afectar negativamente al rastreo del sitio web.
Si tu página ha desaparecido completamente y no la puedes reemplazar, te recomendamos que configures el servidor para que siempre muestre un código de error 404 (página no encontrada) o 410 (página no existente) en respuesta a la solicitud de una página no existente. En caso de error 404, puedes mejorar la experiencia del usuario creando una página 404 personalizada. Por ejemplo, puedes crear una página que contenga una lista de tus páginas más populares o un enlace a tu página principal o para enviar comentarios. Sin embargo, debes recordar que no basta con crear una página que muestre un mensaje 404, ya que también se debe devolver el código de respuesta HTTP 404 o 410 correcto.

  • 404

El robot de Google ha solicitado una URL que no existe en el sitio web.



  • Acceso denegado
Por lo general, Google descubre contenido siguiendo enlaces que dirigen de una página a otra. Para rastrear una página, el robot de Google debe acceder a ella. Si aparecen errores inesperados de acceso denegado, es probable que se deba a una de las siguientes razones:
El robot de Google no ha podido acceder a una URL de tu sitio web porque es obligatorio iniciar sesión para ver una parte o la totalidad del contenido.
Tu servidor requiere que los usuarios se autentiquen mediante un proxy o tu proveedor de alojamiento está impidiendo que Google acceda a tu sitio web.

  • URL no seguidas
Los errores de URL no seguidas indican las URL que Google no ha podido seguir de forma completa, además de la causa de ello. A continuación se indican algunas razones por las que es posible que el robot de Google no haya podido seguir las URL de tu sitio web:

  • Error de DNS
Cuando veas este tipo de error de URL, quiere decir que el robot de Google no ha podido comunicarse con el servidor DNS o que no existen registros para el sitio web en el servidor.


ERRORES DE URL SÓLO EN MOVILES 



  • Error                                                    

  • Descripción




  • Redireccionamientos  defectuosos                                                                              
El error Redireccionamiento defectuoso se muestra en la sección Errores de URL de la página Rastreo > Errores de rastreo que hay en la pestaña Smartphones.
Algunos sitios web usan URL independientes para usuarios de ordenadores y de smartphones, y configuran las páginas para ordenadores de modo que dirijan a los usuarios de smartphones al sitio web para móviles (por ejemplo, m.example.com). Un redireccionamiento defectuoso se produce cuando una página para ordenadores redirige de forma errónea a los usuarios de smartphones a una página para smartphones que no guarda relación con su consulta. Un ejemplo típico de este tipo de error es cuando todas las páginas para ordenadores redirigen a los usuarios de smartphones a la página principal del sitio web optimizado para smartphones. En la siguiente ilustración, se consideran defectuosos los redireccionamientos indicados con una flecha roja:




  • URL bloqueadas para smartphones
El error de bloqueo aparece en la pestaña Smartphone de la sección Errores de URL de la página Rastreo > Errores de rastreo. Si ves el error de bloqueo en una URL de tu sitio web, significa que esta está bloqueada para el robot de Google para smartphones de Google en el archivo robots.txt de tu sitio web.
Este error no solo afecta a los smartphones; las páginas equivalentes para ordenadores también pueden bloquearse. Sin embargo, esto suele indicar que el archivo robots.txt debe modificarse para permitir el rastreo de las URL para smartphones. Cuando se bloquean estas URL, las páginas para móviles no se pueden rastrear y, por este motivo, es posible que no aparezcan en los resultados de búsqueda.
Si obtienes un error de URL bloqueada en el rastreo de las URL de tu sitio web, examina el archivo robots.txt y asegúrate de que no haya secciones de tu sitio web que bloqueen por accidente el rastreo del robot de Google para smartphones.


  • Contenido Flash
El error Contenido Flash se muestra en la sección Errores de URLde la página Rastreo > Errores de rastreo que hay en la pestaña Smartphones.
Nuestros algoritmos indican que las URL de esta sección tienen contenido que se procesa mayoritariamente con Flash. Muchos dispositivos no pueden procesar estas páginas porque iOS o Android 4.1 y versiones posteriores no admiten Flash.