2011-09-14 68 views
0

TLDR打印具有變量的URL

我想打印

<link rel="canonical" href="http://nyc.mymusicwebsite.com/coolband/1222 
"/> 

其中

var termsText = nyc 
var deliurl = http://nyc.mymagazine.com/coolband/122 
deliurl2[1] = mymagazine 
deliurl[2] = .com/coolband/122 

(deliurl在拆分)。 我有這樣的代碼到目前爲止這幾乎奏效,這就是問題

document.write('<link rel=cononical"'+" ""href="http:"//"""+termsText+"."+deliurl2[1]+deliUrl[2]'"/>'); 

我有一個Drupal網站,致力於爲每一個崗位重複的內容,

每一個崗位創建多頁

http://nyc.mymusicwebsite.com/coolband/1222 
http://national.mymusicwebsite.com/coolband/1222 
http://seatle.mymusicwebsite.com/coolband/1222 
http://la.mymusicwebsite.com/coolband/1222 

雖然只有一個職位是該網站的其他職位獲得索引上可見。

上面的帖子都標記在一個div與他們分配的區域,並在網站上可見。

我想打印google rel conical鏈接,鏈接到conincal post。這篇文章的子域與div中的pages標籤相同。

我所做的一切,除了打印網址

考慮下面的代碼

//find tag in page for pattern match 
    var termsText = $("#terms").find("ul li:last").text(); 

    //get window location url to test agains pattern 
    var deliUrl=window.location.href 


    //test pattern 
    var patt1=new RegExp(termsText); 


    //split url at first period to isolate everything after the subdomain 
    var deliUrl2=deliUrl.split('.'); 


    //if pattern is NOT in url print google conical tag pointing to propper subdomain 
    if (patt1.test(deliUrl)); 

    { 
     //print subdomain as "terms" and rest of url 
     document.write('<link rel=cononical"'+" ""href="+termsText+"."+deliurl2[1]+deliUrl[2]'"/>'); 

} 
+0

你能解釋一下爲什麼你要這樣做嗎?我覺得你錯過了森林,但樹木。 – mrtsherman

+0

我們有3位程序員正在處理這個問題,現在我們只需要一個子域(在帖子內容中具有匹配標籤的子域)進行索引。這已經委託給我了。 –

+0

我只需要幫助我的document.write()語句的語法我是新來的JavaScript和語法是一個弱點 –

回答

1

看到這個小提琴 - http://jsfiddle.net/TDCEN/1/

我用你的硬編碼值。你的document.write方法有很多錯誤。 Javascript是區分大小寫的,所以你必須確保事物匹配。小心你的報價。你可以在js中多行,所以就像我做的那樣,並以一種合理的方式分解事情。我將第一個<更改爲>,因爲否則輸出無法顯示。

我仍然認爲這不會起作用。我懷疑搜索引擎正在閱讀由js修改的頭部信息。祝你好運。絕對看看robots.txt文件。基本上可以說不要索引這些頁面。這會影響搜索引擎優化,因爲它們根本就不是索引,但這聽起來像你想要的。

var termsText = 'nyc'; 
var deliurl = 'http://nyc.mymagazine.com/coolband/122'; 
var part1 = 'mymagazine'; 
var part2 = '.com/coolband/122'; 

document.write(
    '>link rel="canonical" href="http://' + 
    termsText + 
    '.' + 
    part1 + 
    part2 + 
    '" />'    
); 
+0

robots.txt尚未實施的原因是因爲這是一個博客,新內容創建每一天和每個帖子都有這個問題。有成千上萬的過去的帖子也有重複。如果在過去和未來的職位上都有類似的方法來實現自動化,那麼這將會很棒。 –

+0

我明白了。是的,那會很痛苦。我也感到沒有選擇的痛苦。儘管我所有的規範抨擊都是在營銷人員不會放棄之後在工作中實施的。它造成的問題,但至少我不會受到麻煩=) – mrtsherman

+0

它造成了什麼問題? –