modificacion de url (interesante)

26/04/2004 - 21:57 por sergio | Informe spam
Hola, me ha surgido este problema;

Resulta que tengo que hacer que una pagina asp xxxx.asp?hE68 se transforme
en h_4568.htm o html se puede hacer esto???, es para indexar en buscadores
puesto que se cojen mejor las paginas h_4568.htm que xxxx.asp?hE68


Gracias

Preguntas similare

Leer las respuestas

#1 Miguel González
27/04/2004 - 12:27 | Informe spam
Hola Sergio.

Corríjanme si me equivoco, pero tengo entendido que los buscadores no hacen
distingos entre .asp y .htm, ya que se limitan a seguir los enlaces y
analizar/indexar solo el HTML devuelto por el servidor.

Por otro lado, si lo que quieres es generar una página "física" HTML en el
servidor a partir de una página ASP, puedes utilizar el "File System Object"
(FSO), grabando un archivo .html en el servidor con el nombre que tú elijas,
aunque me parece poco operativo.

Saludos!
Miguel


"sergio" escribió en el mensaje
news:
Hola, me ha surgido este problema;

Resulta que tengo que hacer que una pagina asp xxxx.asp?hE68 se


transforme
en h_4568.htm o html se puede hacer esto???, es para indexar en buscadores
puesto que se cojen mejor las paginas h_4568.htm que xxxx.asp?hE68


Gracias


Respuesta Responder a este mensaje
#2 sergio
27/04/2004 - 19:29 | Informe spam
no es el uso del FSO, en php se puede hacer, la simulacion de una pagina en
HTML, pero en asp no se si eso se puede hacer.

Gracias por tu ayuda


"Miguel González" escribió en el mensaje
news:
Hola Sergio.

Corríjanme si me equivoco, pero tengo entendido que los buscadores no


hacen
distingos entre .asp y .htm, ya que se limitan a seguir los enlaces y
analizar/indexar solo el HTML devuelto por el servidor.

Por otro lado, si lo que quieres es generar una página "física" HTML en el
servidor a partir de una página ASP, puedes utilizar el "File System


Object"
(FSO), grabando un archivo .html en el servidor con el nombre que tú


elijas,
aunque me parece poco operativo.

Saludos!
Miguel


"sergio" escribió en el mensaje
news:
> Hola, me ha surgido este problema;
>
> Resulta que tengo que hacer que una pagina asp xxxx.asp?hE68 se
transforme
> en h_4568.htm o html se puede hacer esto???, es para indexar en


buscadores
> puesto que se cojen mejor las paginas h_4568.htm que xxxx.asp?hE68
>
>
> Gracias
>
>

Respuesta Responder a este mensaje
#3 Miguel González
28/04/2004 - 09:30 | Informe spam
Hola Sergio. ¿Cómo se hace para "simular HTML" en PHP?

En ASP no se me ocurre nada que permita hacerlo. En este foro hay gente que
controla el tema ASP infinitamente mejor que yo, sería interesante que
dieran su opinión.

Otra cuestión sería asimilar como "ejecutables" ASP a los archivos con
extensión .htm (aunque eso no sería propiamente ASP, sino que tendría que
ver con la configuración del servidor web -IIS-)

Saludos!
Miguel

"sergio" escribió en el mensaje
news:
no es el uso del FSO, en php se puede hacer, la simulacion de una pagina


en
HTML, pero en asp no se si eso se puede hacer.

Gracias por tu ayuda


"Miguel González" escribió en el mensaje
news:
> Hola Sergio.
>
> Corríjanme si me equivoco, pero tengo entendido que los buscadores no
hacen
> distingos entre .asp y .htm, ya que se limitan a seguir los enlaces y
> analizar/indexar solo el HTML devuelto por el servidor.
>
> Por otro lado, si lo que quieres es generar una página "física" HTML en


el
> servidor a partir de una página ASP, puedes utilizar el "File System
Object"
> (FSO), grabando un archivo .html en el servidor con el nombre que tú
elijas,
> aunque me parece poco operativo.
>
> Saludos!
> Miguel
>
>
> "sergio" escribió en el mensaje
> news:
> > Hola, me ha surgido este problema;
> >
> > Resulta que tengo que hacer que una pagina asp xxxx.asp?hE68 se
> transforme
> > en h_4568.htm o html se puede hacer esto???, es para indexar en
buscadores
> > puesto que se cojen mejor las paginas h_4568.htm que xxxx.asp?hE68
> >
> >
> > Gracias
> >
> >
>


Respuesta Responder a este mensaje
#4 Alter
28/04/2004 - 12:12 | Informe spam
Te iba a pasar un enlace, pero como parece que no funciona, copio y pego el
texto:

El texto que sigue corresponde a la página
http://www.lacompu.com.ar/desarroll...index.php3

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Las páginas dinámicas son la única forma de crear una sitio verdaderamente
grande. Pero en realidad no son muy amigables para los usuarios. Por
ejemplo, un página llamada producto.asp?Id=4 no es tan informativa como
/insumos/impresoras/tinta/cartucho1120.htm. En este artículo te mostraremos
como obtener un nombre de página que se vea como una el de una estática a
pesar de ser dinámica.
Motores de búsqueda

Hay otro beneficio para usar páginas con buenos nombres. Los motores de
búsqueda pueden recorrer estos nombres de página. La mayoría de los motores
de búsqueda, como Altavista y Yahoo, no recorren las páginas que contienen
signos de pregunta (?) en su nombre, ya que se previenen de recorridos que
no tienen fin. Si conviertes tus nombres de páginas dinámicas a nombres de
páginas estáticas, los motores de búsqueda agregarán las páginas a sus
categorías y generarán más tráfico en tu sitio.

Requerimientos mínimos

Para tener páginas con nombres correctos, necesitarás utilizar Windows 2000
y IIS 5.0. Hay dos mejoras en IIS 5.0 que te permiten mejorar los nombres de
tus páginas, "Customer Error Pages" que usan Server.Transfer y la abilidad
de utilizar Server.Transfer en nuestras Active Server Pages. A pesar de que
las Custom Error Pages ya estaban disponibles en IIS 4.0, estas usaban
Response.Redirect, el que no funciona, porque los motores de búsqueda no
sigen las redirecciones.

Como funciona la transformación?

Como programador de un sitio, seguramente vinculas páginas que no existen -
presumiblemente con buenos - nombres en el URL. Luego le indicas a IIS que
quieres que una ASP (404.asp) maneje todos los 404s que lleguen a tu sitio.
Dentro de esta Active Server Page, conviertes el URL original en un buen
nombre para el URL y luego utilizas Server.Transfer para ejecutar y enviar
esa página al navegador del usuario.

Empecemos a trabajar

Si abres un navegador y escribes:

http://www.misitio.com/insumos/impr...ho1120.htm

Donde misitio es el nombre de tu servidor, la página devolverá un 404. Lo
primero que tenemos que hacer es que todos los 404 sean manejados por una
misma página .asp. Puedes lograr esto utilizando la función Customer Error
Page de IIS 5.0. Para activar esta función sigue los siguientes pasos:

1. Abre la IIS Manage In MMC.
2. Haz un click derecho en el nodo del web site y elige "Properties".
3. Cliquea en la solapa "Custom Error Tabs".
4. Baja hasta que veas HTTP Error -- 404.
5. Haz dobre click en 404 para abrir el diálogo "Error Mapping Properties".
6. Cambia el tipo de mensaje a URL.
7. En el URL utiliza /404.asp
8. Click OK y luego OK nuevamente.

Ahora todos los errores 404 serán manejados por 404.asp. Lo bueno de
utilizar IIS es que cuando llame a 404.asp, le enviará en nombre de la
página que causó el error como un parámentro en el query string.

404.asp

Ahora tenemos que crear la página 404.asp para manejar los errores. Lo
primero que tenemos que hacer es obtener el nombre de la página que tenía el
404. Esta línea de código obtiene el nombre la la página del query string.

<%
' Obtener el nombre de la página
strQ = Request.ServerVariables("QUERY_STRING")
%>

¿Qué es importante utilizar de strQ? En el ejemplo anterior aparece como
insumos/impresoras/tinta/cartucho1120.htm. Todo lo que realmente necesitamos
es cartucho1120.htm, ya que esta puede ser la clave única para ver los
cartuchos en nuestra base de datos de productos. Las siguientes líneas de
código toman el número de cartucho y encuentran en id del producto.

<%
' Encontrar el número de modelo
nIndex = InStrRev(strQ,"/")
If (nIndex>0) Then
strModelNumber = Right(strQ,Len(strQ)-nIndex)
strQ = Left(strQ,nIndex-1)
End If

' Recortar .htm del número de modelo
If ((Mid(strPageName,Len(strPageName),1)="m") And _
(Mid(strPageName,Len(strPageName)-1,1)="t") And _
(Mid(strPageName,Len(strPageName)-2,1)="h") And _
(Mid(strPageName,(strPageName)-3,1)=".")) Then

strModelNumber =Left(strPageName,Len(strModelNumber)-4)

End If

' Buscar el id de producto en la base de datos.
strSQL = "SELECT Product_Id FROM Product " _
& "WHERE Product_Model = '" & strModelNumber & "'"
Set oRS = oConn.Execute(strSQL)
If (Not oRS.EOF) Then
lProductId = oRS("Product_Id")
End If
%>

Ahora que ya tenemos el Id de producto, podemos hacer un Server.Transfer a
la página dinámica correcta:

<%
Server.Transfer("/product.asp?Id=" & lProductId )
%>

Cuando implementes esto la barra de direcciones en el navegador será:

http://www.misitio.com/insumos/impr...ho1120.htm

y debido a Server.Transfer el URL en la barra de direcciones del navegador
no cambiará.

Advierte que el directorio no existe en absoluto, de hecho no importa que es
lo que dice el resto del URL (excepto por el nombre del servidor). Por
ejemplo, todos los siguientes URL van a la misma página:

http://www.misitio.com/cartucho1120.htm
http://www.misitio.com/camiones/for...ho1120.htm

¿Entonces que ponemos es los directorios? Los directorios te darán una mejor
ubicación en los buscadores. Muchos buscadres le dan más importancia al
nombre del URL que al título de la página. Por este motivo utiliza nombres
muy explicativos como marcas, productos, etc..

Llamando a páginas que no existen!

Ya hemos cubierto la tecnología para converir URL que no existen a URL
dinámicas, pero para lograr que el motor de búsqueda recorra estas páginas,
debes llamar a URLs que no existen. En otras palabras, la única forma de que
un motor de búsqueda encuentre tu páginas cartucho1120.htm es si la
vinculas.

Cuando vinculabas esta página todo lo que tenías que hacer era usar el Id de
producto de la siguiente forma: "producto.asp?Id=4", entonces tomemos ese Id
de producto y creemos una función que devuelva el URL correcto:

<%
Function CreateProductURL(lProductId)

strSQL = "SELECT Product_Model FROM Product " _
& "WHERE Product_Id =" & lProductId

Set oRS = oConn.Execute(strSQL)
If (Not oRS.EOF) Then
strModel = oRS("Product_Model")
End If

CreateProductURL = "/" & strModel & ".htm"

End Function
%>

Ahora cuando quieras agregar un URL debes hacerlo de la siguiente manera:

<A HREF="<%=CreateProductURL(4)%>">Cámaras digitales </A>

Nota: En este ejemplo asumimos que no conoces el nombre del modelo (del
cartucho) y que tu tienes que volver a la base de datos -- en el mundo real
pueden ocurrir casos diferentes. Tu conoces el nombre del modelo y puedes
crear el URL sin hacer otra llamada a la base de datos.

Rendimiento

Hay varios impactos en el rendimiento asociados con esta técnica. Primero,
puede requerir una llamada extra a la base de datos para obtener el URL
correcto desde el URL 404. Finalmente, los dos Server.Transfer "cuestan
caro". Puedes resolver estos problemas de performance utilizando XCache.
XCache resuelve el URL 404 a la página correcta y guarda esta información
para futuros pedidos.

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Espero que te resulte útil, la verdad es que yo aún no lo he probado.

"sergio" escribió en el mensaje
news:
Hola, me ha surgido este problema;

Resulta que tengo que hacer que una pagina asp xxxx.asp?hE68 se


transforme
en h_4568.htm o html se puede hacer esto???, es para indexar en buscadores
puesto que se cojen mejor las paginas h_4568.htm que xxxx.asp?hE68


Gracias


Respuesta Responder a este mensaje
#5 Miguel González
28/04/2004 - 14:13 | Informe spam
He estado mirando el tema de la indexación de páginas dinámicas por los
buscadores y esto es lo que he encontrado:

Google:
"...podemos indexar la mayoría de los tipos de páginas y archivos, con pocas
excepciones. Entre los tipos de archivos que podemos indexar se incluyen:
pdf, asp, jsp, hdml, shtml, xml, cfm, doc, xls, ppt, rtf, wks, lwp y wri."
(Se siguen los enlaces estáticos, no los dinámicos -los activados con
JavaScript, por ejemplo-)
http://www.google.es/webmasters/facts.html

Yahoo/Altavista:
"Yahoo! does index dynamic pages, but for page discovery, our crawler mostly
follows static links."
http://help.yahoo.com/help/us/ysear...ng-05.html

Teoma/Ask Jeeves:
"We include a select number of dynamic URLs in our index. However, they are
screened to detect likely duplicates before downloading"
http://sp.ask.com/docs/about/tech_teoma.html#17

HotBot/Lycos:
"Purely search-based sites cannot be spidered. Therefore, create a
"spider.html" file (i.e. a list of URLs on the site for the spider to
traverse)."
http://help.lycos.com/scripts/searc...mp;p_refno0927-000017&p_created33155926&p_sp=cF9ncmlkc29ydD0mcF9yb3dfY250PTUmcF9wcm9kX2x2bDE9MzYmcF9wcm9kX2x2bDI9MzkmcF9jYXRfbHZsMT01MjUmcF9jYXRfbHZsMj01MTEmcF9wYWdlPTE*&p_li

Resultado del test:

Salvo Lycos/HotBot, que aunque no lo afirma tampoco lo niega, los demás
indexan páginas dinámicas.
He probado buscar URLs dinámicas en todos ellos y las han encontrado
correctamente salvo Lycos/HotBot.
Nota: En todos ellos avisan (negativamente) sobre "redirecciones" y otras
prácticas similares...

Saludos!
Miguel


"sergio" escribió en el mensaje
news:
Hola, me ha surgido este problema;

Resulta que tengo que hacer que una pagina asp xxxx.asp?hE68 se


transforme
en h_4568.htm o html se puede hacer esto???, es para indexar en buscadores
puesto que se cojen mejor las paginas h_4568.htm que xxxx.asp?hE68


Gracias


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida