Just nu i M3-nätverket
Gå till innehåll
gelki

Skriv title med javascript vad tycker google om det?

Rekommendera Poster

gelki

jag behöver lite hjälp med några fakta som kan förbättra rankningen på andra sajter jag gjort. Vi vet att title taggen ligger högst upp på en html sida. Ibland har man inte möjlighet att skriva dynamiskt title Efter man laddat sidan. den koden är i javascript och den gör ju jobbet. d.v.s skriver sidans title efter man kallar på funktionen. Min fråga är hur ser sökmotor google på detta? Blir undersidorna indexerade med den informationen "this is my new title " eller indexeras sidorna fortfarande som "old title". ? Märkväl javascript snutten ligger innanför bodyn och inte i headen.

 

:thumbsup:

 

<html>
<head>
<title>old title</title>
</head>
<body>
<SCRIPT LANGUAGE="JavaScript">
function settitle() 
{
 {
 document.title = "this is my new title";
 }
}
 window.onload = settitle;
</script>
</body>
</html>

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Jonas__B

Om du sätter titeln med javascript efteråt kommer inte google att registrera det du ändrar med javascript utan den gamla titeln "Old title", och det spelar ingen roll var någonstans javascriptet gör detta. För ändringen sker endast på klienten.

 

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
gelki

ohh thanks!

Det var också min tanke också...hehe anyway tack!

Förslag på hur man löser dilemmat via asp sCript?

Dvs att skriva title efter man kommit förbi <body> avsnittet!

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Jonas__B

det går endast att lösa med serverside-programmering.

<head>
<title><%= myTitle %></title>
...
</head>
<body>
...

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
gelki

Jag kan väl inte skicka variabelns värde till <%= myTitle %> eftersom koden som genererar title information kommer efter <body> taggen. inte ens med session variabeln kan jag göra det. Så hmm.... delikat problem.

 

ex:

 

<html>
<head>
<title><%= settitle %></title>
</head>
<body>
<%
settitle="jippi"
%>

</script>
</body>
</html>

[inlägget ändrat 2009-10-29 19:25:37 av gelki]

[inlägget ändrat 2009-10-29 19:25:56 av gelki]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Cluster

Serversideskod körs innan någonting skickas till klienten, oavsett om klienten är en vanlig webbläsare eller en sökmotorrobot.

<%
'Starta med att göra sådan logik som kan påverka presentationen
strPageTitle = "Gelki's webbplats"
%>
<html>
<head>
<title><%= strPageTitle %></title>
</head>
<body>
  <p>Hej och välkommen till <%= strPageTitle %>!</p>
</body>
</html>

 

/Cluster

----------------------------------------------

Any fool can use a computer. Many do.

-----[ http://eforum.kicks-ass.net ]------

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
gelki

Japp så funkar det ju kanon eftersom du sätter variabel innan du skriver ut resultat. Men vad händer om du först skriver ut variabel och sedan sätter den. Det var det som dilemmat var. Hoppas att jag förklarar det på bra sätt hehe.

 

Nedanstående precis som du cluster säger ska man ju sträva efter om man inte vill ha problem med att skriva dynamiska titles.

<%
'Starta med att göra sådan logik som kan påverka presentationen
strPageTitle = "Gelki's webbplats"
%>
<html>
<head>
<title><%= strPageTitle %></title>
</head>
<body>
  <p>Hej och välkommen till <%= strPageTitle %>!</p>
</body>
</html>

Men om vi är tvugna att starta så som jag skriver nedanför av olika orsaker, då kan vi ju inte skriva variabels resultat eftersom koden exekveras från top till bottom och från left to right. Finns det ett annat sätt att skriva ut variabelns resultat fast man skriver ut variabelns resultat innan man tillsätter ett värde till variabeln. Titta extra på vad jag menar och var jag sätter kod snutten. Hugghh så komplcerat de blev med beskrivningen helt plötsligt..

 

<html>
<head>
<title><%= strPageTitle %></title>
</head>
<body>
<%
'Starta med att göra sådan logik som kan påverka presentationen
strPageTitle = "Gelki's webbplats"
%>
</body>
</html>

[inlägget ändrat 2009-10-29 21:13:13 av gelki]

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Cluster

Jag kan inte förstå varför du måste ha logiken för att skapa titeln (strängvärde i variabeln) på en speciell plats i din html-markup.

 

Generellt så skall du sträva efter att minimera blandningen av serversideskod/logik och html-markup.

 

/Cluster

----------------------------------------------

Any fool can use a computer. Many do.

-----[ http://eforum.kicks-ass.net ]------

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
gelki

antar att du har några asp filer i din mapp som alla behövs av olika anledningar.

 

topp.asp

mitten.asp

botten.asp

default.asp

 

topp.asp har följande kod som ex:

<title>

<head>

<%= strPageTitle %></title>

</head>

<body>

 

mitten.asp innehåller själva innehållet i vårt fall information från ex. databas som ska uppdatera title.

<%

strPageTitle = "Gelki's webbplats"

%>

 

botten.asp innehåller koden

</body>

</html>

 

 

default.asp innehåller alla inkluderade filer. ex:

<!--#include file="topp.asp"-->

<!--#include file="mitten.asp" -->

<!--#include file="botten.asp"-->

 

Om du vet att du inte får ändra på top eller botten filerna utan bara i mitten filen och ska kunna styra dynamiskt vad title blir så säger min logik att via serversideskod inte går att göra detta. Men ingen än jag blir glatt överraskad om det finns en lösning. Jag har försökt hitta men tyvärr allting var klientbaserad kod.

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Cluster

Tja, det verkar ju inte vara en speciellt dynamisk design.

 

Kan du inte skapa en ny include-fil för mer generellt användningsområde, så som titel och andra metadata, typ metadata.asp?

Denna inkluderar du sedan i dina filer innan topp.asp.

 

Vidare skulle jag föreslå att du tänker igenom din uppbyggnads- och inluderingsmodell så att alla sidor är självständiga sidor med egna meta- och body-taggar (och då får du ju även möjlighet att dynamiskt påverka dem med serversideskod).

 

Exempel (iof från 2005 men ändå helt ok) på hur du kan bygga upp dynamiska sidor mha SSI

http://www.eforum.idg.se/viewmsg.asp?entriesid=697998#698030

 

Jag brukar även ha en fil med generella inställningar, värden, funktioner mm i separata filer som jag inkluderar först i alla "presentationsfiler".

Typ:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!--#include virtual="/includes/siteWideSettings.asp" -->
<%
' Här har du all din logik för denna sida.
' Databasuoperationer, beräkningar med mera...
'
' Sådant som du vill presentera för besökaren lägger 
' du här i variabler för utskrift i markupen nedan

strPageTitle = "Gelki's webbplats"
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <meta http-equiv="content-language" content="<%=strPageLang%>">
  <meta name="description" content="<%=strPageSummary%>">
  <meta name="keywords" content="<%=strPageKeyWords%>">
  <title><%=strPageTitle%></title>
</head>
<!--#include virtual="/includes/layout/default/top.asp" -->
  <h1>Välkommen</h1>
  <p>Detta är <%= strPageTitle %>!</p>
<!--#include virtual="/includes/layout/default/bottom.asp" -->
<body>
</body>
</html>

 

/Cluster

----------------------------------------------

Any fool can use a computer. Many do.

-----[ http://eforum.kicks-ass.net ]------

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
gelki

japp de är exakt så jag har lagt uppdet.. inget konstigt. Exempel filen var bara för att förtydliga något.

 

Det som du nämnde där som jag INTE gör är att inkludera metataggarna.

om jag ska göra det så blir det ju inte dynamisk hehe eller hur. Men däremot så håller jag med att manuellt skriva i koden metataggarna för varje sida är ju en lösning. Men har du ex 15000 produkter så kan det ju bli jobbigt. Så jag tror att det bästa lösningen är att

Exekvera all kod innan du når själva html och sedan bara skriva ut. JAg tror inte helt enkelt att det finns en annan lösning på detta en du anger och där jag frågaställer med javascript. Angående javascriptet så fick jag följande meddelande av Jajja som är ledande i sverige på SEO.

 

Följande är cloaking.

Att ändra titeln på klientsidan via javaskript är något som kan straffa sig.

<SCRIPT LANGUAGE="JavaScript">
function settitle() 

{
 {
 document.title = "this is my new title";
 }
}
 window.onload = settitle;
</script>

Det är bättre att koda detta serversida och göra korrekta titlar direkt.

 

Med Vänlig Hälsning

Gruppledare för produktion

Jimmy Wirsborg

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser
Cluster

Verkar inte riktigt som om du förstår vad jag menar...

 

Så jag tror att det bästa lösningen är att Exekvera all kod innan du når själva html och sedan bara skriva ut.
Det är ju exakt det som jag sagt hela tiden.

Du skall inte skriva in metataggar manuellt, du skall göra det dynamiskt med asp (hämta dess värden från databas eller dylikt) innan det skickas till klienten.

 

 

 

Min huvudpoäng är att du skall flytta upp logiken i dina filer från body och lägga den innan inkluderingen av topp.asp

 

 

 

/Cluster

----------------------------------------------

Any fool can use a computer. Many do.

-----[ http://eforum.kicks-ass.net ]------

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...