Wordpress主題代碼優化
創新互聯建站堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都做網站、網站制作、企業官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的商洛網站設計、移動媒體設計的需求,幫助企業找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!
wordpress代碼優化的核心在于:代碼能少則少,以提高網站加載速度為核心目的!優化你的代碼,如果你的網站是放在虛擬空間,不要讓你的網站加載時間超過5秒以上;如果是放在VPS中,不要讓你的網站加載時間超過3秒以上。
為什么我這樣說呢?那是因為百度對網站的打開速度有硬性的審核標準,甚至在百度站長工具中還特地推出了頁面優化建議工具。
這意味著百度是希望站長優化自己網站的打開速度的。如果你的網站打開速度慢則很有可能被降權。
那怎么做主題代碼優化呢?
請大家不要著急,我接下來給大家一個重要的解決方案:將我們的主題代碼優化到最精簡。其最重要的是優化table嵌套、header優化、js和css的合并分離優化。
1、table嵌套:我看了很多的wordpress免費主題,為了簡單,采用大量的table嵌套,而瀏覽器在加載table的時候,是需要將程序完全加載才能渲染出來的,有一些主題甚至缺少table的關閉標簽,導致瀏覽器無法正常渲染而卡在table標簽處。做網站,應該盡量少用table標簽,采用div+css的方式來繪制表格可以更好的提高網站打開速度。
2、header優化:大家可以查看一下自己網站的header標簽,是否有一大堆不知道什么用的meta標簽?如下圖所示(某使用wordpress默認模版的網站):
一大堆亂七八糟的鏈接和注釋,甚至引用了其他網站的文件,眾所周知,只要你的代碼中引用了文件,那么瀏覽器就會去加載完這些文件才會繼續執行之后的代碼,如果其他網站的文件丟失了,那么瀏覽器將會花大量時間等待這個文件響應,而這些都是會增加網站打開時間的。而我的網站則通過精簡,只保留搜索引擎需要的meta信息和必要的文件鏈接,從而使得header更加簡潔和高效,如下圖:
3、js和css的合并分離優化:很多網站的所有js和css代碼,都是寫在一個文件里面的,這樣雖然方便了管理,但是會導致頁面加載的時候,需要加載很多不必要的代碼,導致時間加長。
而我的解決方法就是將每個頁面都需要的js和css分別放置在一個文件內,而其他每個頁面特有的js和css,則自己獨立創建文件,針對性的引用。比如共同的css都放在style.css中,首頁才有的css就寫在style-home.css中,只有在首頁才引用,其他頁面則不引用,這樣就可以大大提高網站的加載速度了。
看了上面的幾個優化要點,大家肯定還有疑問。所以,我接下來給大家看看我自己做的現成的案例,通過源代碼大家不難發現,我的源代碼已經做到最精簡的程度了,沒有table嵌套,header沒有多余的內容,js和css只有必要的才添加。
沒有多余的代碼,自然加載速度可以優化到最快。
總結
當然,網站的打開速度除了代碼以外,還有很多地方要注意,這僅僅是其中一個細節,但相信也是站長們都需要關注的。
無論你是為WordPress寫插件或hack,還是添加有關WordPress的代碼片段或其他如HTML,CSS,PHP或javascript的編程代碼,如何讓插入于日志中的代碼有其形而不發生作用對寫博客的用戶來說是常常遇到的攔路虎。
默認情況下,WordPress會將和自動轉換為和,在發表后看起來就是和。如果它發現日志中使用了HTML標簽,就會將其當作HTML標簽來使用,結果你的文本看起來就很怪異,布局也會弄得一團糟。
網頁中代碼的使用有兩個方面。在段落中使用代碼表示正在討論該段代碼,然后是被高亮顯示的代碼。
段落中的代碼
有兩種HTML標簽可以將文本轉為等寬樣式,即 code和 tt。而后者現今已基本不使用了,取代它的是用處更大且更富語法意義的 code,它能將計算機代碼類的文本與一般語言分辨開來。
此為用于某段落內的代碼示例
用以描述WordPress中的 codeindex.php/code,
codesidebar.php/code及 codeheader.php/code
模板文件。如果你希望在文字周圍使用標簽以使它們看起來如代碼一般,此方法就很有用,但如果你想展示如HTML的標簽的話該如何是好呢?
在 codeheader.php/code模板文件中, 查找 code div class="header"/code 部分以修改 code h1/code標題欄。使用 code標簽是無法告知WordPress將HTML參考從日志中分離開的。它會看到 code標簽,然后看到div,因此它就會在網頁中新建一個容器作為應答。WordPress會認為你實際上是在使用HTML標 簽,不小心使用h1這樣的標簽就能搞砸整個網頁布局和設計初衷。
若要讓WordPress將此識別為段落中的代碼的話,可以使用字符實體或擴展字符來表示其前后的左右箭頭。
在 codeheader.php/code模板文件中,
查找 codediv class="header"/code
部分以修改h1標題欄。
默認情況下,WordPress會將任何以http:開頭的文本轉換為鏈接。如果你要為WordPress網站內特定文章做鏈接,而不使用 并將其轉為鏈接的話,你可以使用擴展字符來代替右斜杠,這樣一來WordPress就不會“看到”該鏈接了。
...在日志中使用
使用鏈接到某特定的WordPress日志....
以下列出一些最常用的HTML字符實體:
=
=
/ = /
] = ]
[ = [
" = "
' = '
后文給出了相關資源,它將幫助你將HTML標簽轉為字符實體,因此你就無需勞神背下這些字符代碼了。
使用PRE標簽
要使得代碼可以被復制粘貼到其他代碼或模板文件中的話,可以使用 pre這個HTML標簽。
pre標簽指示瀏覽器使用等寬的代碼字體,并完完全全地將 pre標簽內的內容復制下來。每個空格,分行,以及代碼都被完整地復制一遍。
h3Section Three Title/h3
pThis is the start of a
a title="article on relationships" href="goodtalk.php"
good relationship/a between you and I....
使用 pre標簽看起來并不美觀,但卻能達到目的。后文將給出解決外觀問題的例子。它會將代碼原原本本地展示出來。
我們這里說原原本本,事實也是如此。如果你的代碼行非常長,它就會伸到頁面外面去,因為并無任何指示告知它進行換行。以下給出一個例子:
h3Section Three Title/h3
pThis is the start of a a title="article on relationships" href="goodtalk.php"good relationship/a
between you and I and I think you should read it because it is important that
we have these little a title="article on communication" href="communication.php"conversations/a
once in a while to let each other know how we feel....
看起來很不舒服吧。要避免這種代碼竄出屏幕的現象,就要進行分段。但在哪進行分段并放入段行標簽可沒那么容易決定下來的。
如果你熟悉編程語言的話,就知道在何處斷行而不會弄砸一行代碼。但如果你不知道在何處斷行的話,就進行實驗吧。將代碼寫入后,進行斷行并進行測試。如果代碼能夠起效的話,就是要這種斷行形式。否則的話就請嘗試其他的斷行位置。
如果你的代碼行很長,可以考慮只顯示一小部分代碼,然后在網站上的文本或PHP文件中給出完整代碼段的鏈接,也可以使用用于臨時展示代碼的在線pastebin。
代碼的疑難排解
在WordPress日志中寫代碼可謂一項挑戰,它會覆蓋WordPress的默認風格。如果你在日志中寫代碼時遇上麻煩的話,下面這些內容可能會對你有幫助。
代碼中的引號
在日志中寫進代碼時常遇到的問題是,WordPress會將代碼中的直引號轉換為文字處理程序中出現的彎引號。用于實現功能的代碼不應當具有這種彎引號,而應該保持原有的直引號。
你可以使用 pre標簽來避免出現這種情況,或使用字符代碼來表示引號也可以解決此問題:
p class="red"
即可寫為 p class="red" 但如果你是在首次發布某頁面之后進行編輯的話,html代碼編輯器就會用自帶的符號替換所有的實體。因此,如果你使用" 來表示引號的話,它們會變為",而當你保存的時候它們就會被轉換掉。
定制代碼標簽的風格
默認情況下,使用 pre和 code會將文本顯示為等寬樣式的字體,并使用body標簽的字號。如果你想使用不同的字號,然后讓這些標簽呈現出不同的顏色或風格。
在WordPress外觀主題文件夾的style.css風格頁中,為這兩類標簽添加風格。舉例如下:
pre{border: solid 1px blue;
font-size: 1.3 em;
color: blue;
margin: 10px;
padding:10px;
background: #FFFFB3}
code{font-size:1.2em;
color: #008099}
使用 code將會是上面的樣子,而使用pre則會是如下形式:
pre{border: solid 1px blue;
font-size: 1.3 em;
color: blue;
margin: 10px;
padding:10px;
background: #FFFFB3}
code{font-size:1.2em;
color: #008099}
if(in_category($idarr)){ include('single_wz.php'); };
if(in_category( 分類ID )){ include('single_XU.php'); };
else{ include('single_products.php'); }
-----------------------------------------------------------------------
參考閱讀:
?php if (get_option(‘wpyou_news_id’)){
$newsCats = get_option(‘wpyou_news_id’);
$newsArrays = explode(“,”,$newsCats); }
if(in_category(19) ){ include(‘cable_products.php’); }
else if (in_category($newsArrays) || post_is_in_descendant_category( $newsArrays )){ include(‘archive_main.php’); }
else if (in_category(20)){ include(‘networks_products.php’); }
else{ include(‘archive_products.php’); }
?
使用 IN_CATEGORY() 進行判斷
in_category() 函數可以通過分類別名或ID判斷當前文章所屬的分類,而且可以直接在循環(Loop)內部和外部使用。
如果是單個分類 ID ,比如ID 為 2 ,可以這樣寫
1
in_category(2)
如果是單個分類別名,比如別名為 themes,可以這樣寫
1
in_category('themes')
如果是多個ID,可以這樣寫
1
in_category( array( 2,3,7) )
如果是多個別名,可以這樣寫
1
in_category( array( 'themes','plugins','develop') )
然后我們結合 if 語句就可以很好地實現模板的選擇。比如我們可以在主題的根目錄創建3個文章模板文件,分別命名為 single001.php , single002.php 和 single003.php,然后我們希望 ID 為 2 和 3 的分類使用 single001.php,ID為 7 的分類使用 single002.php ,其他分類使用 single003.php,那么,我們可以在 single.php 文件寫入下面的代碼:
?php
if ( in_category(array( 2,3 )) ) {
get_template_part(‘single001′ );
} elseif ( in_category( 7 )) {
get_template_part(‘single002′ );
} else {
get_template_part(‘single003′ );
}
?
好了,例子就說到這里,只要大家明白了其中的原理,就可以應用自如了。
我的網站被百度K站了,我很無語,也很無奈,因為網站都是合法內容,也沒抓取別人的文章,然后就被百度K站了,目前通過百度搜索,沒有任何我站點的信息
我很無奈了,正規做站都遇到這個問題??戳讼掳俣冉y計,天天有第三方的來刷費流量,我相信大家的站都會遇到這個問題,我嘗試封禁這些費流量,最終結果是無勞。
思來想去,不能就這么放棄了,于是嘗試的主動推送百度,最后結果如何,我也左右不了啦,總比等著強,下面將我的方法整理一下。
首先需要去百度的搜索資源平臺注冊賬號,地址為:
注冊完之后按照要求添加自己的站點,相信這塊大家都知道怎么操作,我就不在累絮啦。
重點在”資源提交-普通收錄”中,我們使用api接口提交,注意自己token,那是百度分配給你的。
在wordpress的funcions.php中添加代碼
這樣再保存和修改文章時都會將文章提交到百度,我也不知道最終百度會不會解封,先這樣著吧。
本文標題:wordpress和代碼 wordpress建站和代碼建站對比
標題網址:http://vcdvsql.cn/article22/ddoidcc.html
成都網站建設公司_創新互聯,為您提供Google、虛擬主機、手機網站建設、移動網站建設、商城網站、外貿網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯