Para la solución del problema en cuestión, este debe ser el código:
<a href="ruta1" target="nombre_iframe">LINK1</a>
<a href="ruta2" target="nombre_iframe">LINK2</a>
<iframe name="nombre_iframe" src="posición_inicial"></iframe>
NOTA: da igual la ID del iframe (puede ser su "name", o no). Pero mejor aún:
no le pongas ID si no la necesitas para otro particular.
SOBRE LA IDONEIDAD DE <IFRAME>
The Fricky! escribió:
[...]el uso de iframes, entre otras cosas, no permite que los buscadores indexen correctamente tu sitio, porque siempre se mostrará la dirección de la página que contiene el iframe.
Dentro de mi poco conocimiento (y puede que me equivoque en lo que digo)..., un (buen) buscador no tiene porqué tener problemas con una navegación mediante iframes BIEN DISEÑADA.
Si tú tienes, en tu "index", la lista de links:
<a href="ruta1" target="iframe">ruta1</a>
<a href="ruta2" target="iframe">ruta2</a>
<a href="ruta3" target="iframe">ruta3</a>
Al spider, le da igual el target... es decir... que cuando entre en tu index, va a leer la lista, y va a pasar a "ruta1", "ruta2", "ruta3"... leyendo los contenidos de cada uno.
Otro asunto, es que si los contenidos de los iframes, no tienen un link a tu "index", puede que el "spider" no vuelva hacia atrás.
De todas maneras, la creación de un "sitemap", ayuda, entre otras cosas, a solventar los posibles problemas que encuentren los buscadores.
El problema que sí es cierto, es que los buscadores mandarán a los visitantes a las direcciones "ruta1", "ruta2", "ruta3"... fuera del "index" de tu WEB, con lo que el visitante estará perdido sin el menú del mencionado "index", con lo que vuelve a ser recomendable un link "
go to home" en cada contenido.
(o un javascript:)
<script type="text/javascript">
if(window.top.location==window.location){window.location='index.html'}
</script>
dentro de cada uno de tus contenidos "ruta1", "ruta2", "ruta3", que llevarán al visitante a tu "index", pero que será código transparente al spider.
SOBRE AJAX, y rutas con variables "?go=1&ancho=10&PUID=155%2045&search=ruta%20secundaria"Sobre el "AJAX"... depende cómo lo desarrolles, puedes crear más problemas que los que intentas arreglar quitando el "iframe". Así que no está de más andarse con cuidado "extra" si no se va a desarrollar una WEB en HTML "corriente".
Google, advierte de consecuencias inesperadas si se usa contenido dinámico.
CONSEGUIR CÓDIGO LIMPIO: XHTML 1.0 StrictAsunto muy distinto es conseguir código XHTML 1.0 strict con iframes, y un <base target="nombre_iframe" />.
Para validar XHTML 1.0 strict yo me he tuneado la DTD original: XHTML 1.0 strict, añadiendo sólo el soporte de iframes y base-target, que funciona estupendamente, y sigue dando código la mar de correcto y limpio (sin tener que ser XHTML 1.0 Transitional, si acaso eres "puntilloso" con esos temas), consiguiendo validar, de esa manera, en el validador de la W3C.
<!DOCTYPE html PUBLIC "-//rizome//DTD XHTML 1.0 Strict+(T/I)//EN" "http://ruta/xhtml1-strict-PLUS.dtd">
Saludos.
Rizome
2007