Monday, 26 March 2012

Make a custom 404 page for Blogger


Several days ago ,Blogger team announced new SEO functions for Blogger after a long time waiting :D These functions are grouped in Meta Tags, Errors and Redirections, and Crawlers and Indexing.In Redirections group,we got 404 page function and redirect dead links .
Now in this post ,I will show you how to create a custom 404 page for all Blogger templates and Simplex's templates .

Here are steps for making this 404 page


1, Read this step if you are using one of Simplex's templates .
If you apply all instructions in internet for creating a custom 404 page for Simplex templates,you will see nothing appear.
To fix this ,make a search for this line
<b:includable id='main' var='top'>
The search result will look like this
<b:includable id='main' var='top'>
..........code here .blah blah blah......
</b:includable>

Add this code right after the line we search
<b:if cond='data:blog.pageType == "error_page"'>

<b:include data='top' name='status-message'/>

</b:if>
We make the code look like this
 <b:includable id='main' var='top'>
<b:if cond='data:blog.pageType == "error_page"'>
                          <b:include data='top' name='status-message'/>
                     </b:if>
..........code here .......
                             </b:includable>
What does this code mean ? it means if the page is not found , Blogger will call the includables status-message (<b:includable id='status-message'> ) which showing error message ( for more information on includables ,what are they and what they do ? you can read this post )

Keep reading if you are using SimplexEnews template. Skip for other Simplex's templates

Because the includables for showing 404 message ( <b:includable id='status-message'> ) were changed for making breadcrumb bar ( this feature is only on Enews template ^^ ) so we need to fix this includable for showing both of breadcrumb bar and 404 error message .

Find this code
<b:includable id='status-message'>
                                 <b:if cond='data:navMessage'>
                                     <div id='breakcrumb' style='display:none'>
                                         <data:navMessage/>
                                     </div>                                       
                                 </b:if>
                             </b:includable>

And change it to
<b:includable id='status-message'>
                                 <b:if cond='data:navMessage'>
                                     <div id='breakcrumb' style='display:none'>
                                         <data:navMessage/>
                                     </div>                                       
                                     <b:if cond='data:blog.pageType == "error_page"'>
                          <div class='status-msg-wrap'>
                                      <div class='status-msg-body'>
                                         <data:navMessage/>
                                     </div>
                                     <div class='status-msg-border'>
                                          <div class='status-msg-bg'>
                                              <div class='status-msg-hidden'><data:navMessage/></div>
                                         </div>
                                     </div>
                                 </div>
                                 <div style='clear: both;'/>
                     </b:if>
                                 </b:if>
                             </b:includable>

2, Now this step is for you all :D both of Simplex's templates and other templates
Go to Blogger Dashboard - > Search Preferences -> Custom Page not found -> click on Edit and add the content for your custom 404 page to the text box . You can add HTML code to this box so feel free to add anything you want ,for example : a cool picture ,a search box ,or a link ...
Here is what I did for SimplexDesign : A picture for 404 message and a small text ask the readers if they can back to homepage and search again .



If you want to make a 404 page with a picture ,the content of page can be something like this        
<img src="link to your 404 picture">
Page not found ,back to Homepage
A 404 page with a search box ,the content of page can be something like this
<h3>Your requested page was not found</h3>
<p>Sorry, we cannot find the page that you are looking for. It might have been removed, had its name changed, or is temporarily unavailable.<br/>
Please check that the Web site address is spelled correctly.</p>
<b>Other things to try:</b><br/>
<ul>
<li>Go to our <a href="/">home page</a>, and use the menus or links to navigate to a specific post.</li>
<li>
<form method="get" action="/search">
<table width="100%">
<tr>
<td><input type="text" style="width:95%;padding:2px;" value="Search this blog.." onfocus="if (this.value == &quot;Search this blog..&quot;) {this.value = &quot;&quot;}" onblur="if (this.value == &quot;&quot;) {this.value = &quot;Search this blog...&quot;;}" name="q"></td>
<td><input type="button" Value="Search"></td>
</tr>
</table>
</form>
</li>
</ul>
3,After two steps above ,you can type  a wrong URL in your blog and see what is displayed .
Do you see your custom error message ?Does it has a gray background and a black border ?
Yes ,we can add more CSS to make the border and gray background disappear
Find the tag </head>

And add this code right before
<b:if cond='data:blog.pageType == "error_page"'>
<style type="text/css">
.status-msg-wrap {
    font-size: 100%;
    margin: none;
    position: static;
    width: 100%;
}
.status-msg-border {
    display:none
}
.status-msg-body {
    padding: none;
    position: static;
    text-align: inherit;
    width: 100%;
    z-index: auto;
}
.status-msg-wrap a {
    padding: none;
    text-decoration: inherit;
}
</style>
</b:if>
Now go back and see what happen to your 404 page . Is this what you want ?

You can custom the 404 page as you want by adding your own CSS in step 3 or add your own HTML in step 2 .

That's all for a custom 404 page .Please do backup before making any change . If you are using a Simplex template ,please pay attention to step 1 and finish it before move to step 2 and 3 .

Wednesday, 14 March 2012

SimplexGameZone - magazine template for game site



(A new update for this template has been released. Download link has been changed to newer one . For more detail on this update,you can check at this page
It's been a long time since SimplexLinepress came out to you all . I was very busy ,so I couldn't publish any template . But when everything is fine ,it's time for a new template . In this post ,I want to show you the blogger version of Gameup template from Magazine3.com : SimplexGamezone . Yes, another magazine template .

DemoDownload Download jquery-ui.js

Install Instruction

1,Download template file

2,Download the jquery-ui.min.js file

To download these files ,click on the link . It open a new browser window . Click Save page as. Choose the place which you want to save and click on Save as

3,Upload this js file to your host . I have no hosting so I can't host it for you .

4,Open template in a word editor such as Notepad++

5,Find this code
<script src=".../jquery-ui.min.js" type="text/javascript"></script>
Replace .../jquery-ui.min.js to the url of jquery-ui.min.js file which you hosted .

6,Find this code
<b:widget id='HTML6' locked='false' title='socialnetwork' type='HTML'>
                                 <b:includable id='main'>
                                     <div class="headerbookmark">        
                                         <div class="headerbookmark1">
                                             <a href=""><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCaUpTxKMiCn72KET9VteP82TafdWky7hNAvNXmzcy-McobuRqVw827QNliBv45_dhoZ7tXhzlsEar5T_BNC3_5yjMj7XHbS-AOPaEjS3gA73JXlZ-zd6dzTyZwkrvDui9a66OY4u47Q/" alt="" height="36px" width="36px"/></a>
                                         </div>  
                                         <div class="headerbookmark1">     
                                             <a href=""> <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYF5Ad7tQbO24StP_A45xfWQ8FfWnmgIpsV_JedeHNloTMhs6QNEkJxxVksPAZFs0S_qZNrA7w2djOSLK0u7mJiUImS_9YqQ5_fXnrXdlGVWSd8Z4bLvCgi-Wa752I-BmpIJ63p1AxsQ/" alt="" height="36px" width="36px"/></a> 
                                         </div>  
                                         <div class="headerbookmark1">  
                                             <a href=""><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjv1Ny2E6fU_5gNasIRDNjp83yxzhdNoFuferc4VeEDeDPy8ggEQZI2ehgBfMQDKxw7ryuaVFvcXhSpV48gbaZvGcUOq3aZt13H-rP6w8h3DU5VnvuOKw4eZQmh5iADJNA_uusjuZ1EHw/" alt="" height="35px" width="36px"/></a>
                                         </div> 
                                     </div>                                                                     
                                     <div class="clr"></div>    
                                 </b:includable>
                             </b:widget>

Add the url of your social networks to this code .

7,To edit the main menu

Find this code
<div class="menu-header">
                 <ul id="menu-gameumne" class="menu">
                     <li><a href="">Home</a></li>
                     <li><a href="">Category</a></li>
                     <li><a href="">Category</a></li>
                     <li><a href="">Category</a></li>
                     <li><a href="">Category</a></li>
                     <li><a href="">Category</a></li>
                     <li><a href="">Category</a></li>
                     <li><a href="">Category</a></li>                   
                 </ul>
             </div>

Add link to categories to menu code above .

Link to category has structure like this
http://xxx.blogspot.com/search/label/category_name

8,Save template and upload it to Blogger

9,Go to Dashboard ->Setting ->Other - > Allow Blog Feed and change feed mode to Full

10,Go to Dashboard -> Layout

11,To add logo

Click on logo widget

Add the url of logo to widget content as structure bellow

12,To add content to newsticker

Click on headerticker widget
Add the category which you want to show posts in newsticker

13,To add content to slider


Click on slider widget

Add name of category which you want to show latest post in slider in widget content

14,Do the same for thepart1,thepart2,thepart3 ,latestupdate widgets .

14,To add the ad

Click on small ad widget

Add the ad code into widget content .

Do the same for other ad widgets

15,There's many place which you can add widget in this template .
You can add/remove them as you want .

Save changes . Ok ,you are done .
Installing this template is not different to other templates from SimplexDesign ,so If you familiar to others ,it only take you a few minutes .
I added the download link for js file . Because many of you complaint on 110mb.com hosting downtime . I hope with this js file and your host ,it can be much more easier .
I publish the template files and js file on dropbox website . So anytime I make a changes in template ,for fixing errors or doing something else ,this patch will automatically updated ,and you can get the latest updates with the same link ,don't need another download link . I will try to publish other templates to dropbox folder in future .
That's all for this template . Hope it helpful to you . Free to leave me comments :"D

Monday, 5 March 2012

8 tips for increasing blogger's loading speed

improve blogger loading speed by 200%
Many peoples complaint about their blog loading speed . 'Slow' is the term that I heard so much . So in this post ,I want to tell you some tips for increasing the loading speed .


1,Host javascript files in your host or Blogger template itself 
 Most of templates from SimplexDesign use a lot of javascript . Because blogger provide some APIs for designer ,so using javascript is the only way to masking -up the homepage . Javascript are also used for special effects in site ,for example sliders,tabs . In many Simplex's templates ,I used 110mb.com for hosting javascript files . It's a free hosting but not stable . Sometimes it downs ,all the blog that javascript files hosted in 110mb.com will be affected . So I suggest you all host javascript by yourself or host them in blogger template itself if you can't afford a hosting . If your site has a lot of traffic ,a host that support CDN technology is a good choice .

2,Remove unnecessary code
 I checked many sites that report error ,they add a lot of codes, ad code ,toolbar ,tooltip ... These codes increase the loading time ,some of them conflict to existing scripts in template and make template not working properly .

3,Remove unnecessary widgets 
Widgets can increase your loading time the way you've never thought .Believe it or not ,some widgets in blogger widget list is not from Google Blogger team ,it was built by bloggers ,and they also use javascript :D

4,Reduce social media buttons 
Social media buttons are also use javascript for taking post url when page load ,more button ,more script to load . So I suggest you all keep popular social media buttons only ,Facebook ,Twitters ... or the networks you use the most . Use addthis.com service and keep the number of button in the minimum ,I think it will be better .

5,Avoid extra comment systems
 Disqus or Facebook comment system can be modern comment systems with many functions ,but they are third party services ,all the comments and comment form are stored/loaded from remote servers . What happen if this service is busy or out of orders ? Many times ,I see facebook comment struggling in loading and then stop with a blank canvas ,no comment,no form displayed .

6,Load less posts 
Another question that I see a lot . People want to increase the number of posts in archive pages ,increase the number of post sections in homepage ... Should we load more post and make blogger processing more data ,make client browser process more javascript ? Web browser can be stopped from working, go to 'idle' status if it has to process a lot of javascripts . I often meet this error in working with Firefox (a good browser but eat a lot of RAM and CPU processing )

7,Use default 'readmore' function 
All Simplex's templates integrated 'auto readmore' function to create post summary with image for each post in homepage/archive page . But this script can be passed if we use Blogger default 'readmore' function . What is the difference ? The 'readmore' from blogger process data in server and send the result to client computer . 'Auto readmore' funtion use javascript for processing data in client computer . Your computer or Google server is more power ? I think you get your own answer .

8,Optimize images before posting 
Images is the largest part of every website . Optimizing images before posting , reduce the number of images will make your blog load faster ,especially for template such as Simplex Portfolio ,Simplex Photography 2 ...

Here are 8 tips for increasing loading speed of Blogger blog . I hope it helpful to you . Feel free to leave comments and click like if you think it interesting :D Thanks for your support :D

Thursday, 16 February 2012

Colorful Popular Post widget


Popular Post widget has been published by Blogger long time ago . A helpful widget that show the most viewed posts in blog . In this post ,I will show you how to style this widget ,add colors to this one to make it look nice and exciting :D


This post contain Blogger API code ,CSS and a little of Javascript ,so it will be easier if you are familiar to them . Please read my posts on Blogger API to understand Blogger API and it structure , the 'section'  and 'widget' code . If you are not sure on what is going on ,pls do backup template ,it will be helpful in case of any error .

Demo here

How to do it


1,Go to Dashboard ->Template - > Edit HTML

2,Add the CSS code right before ]]></b:skin>



3,In template ,choose the position where you want to insert this widget ,and then add the code

  <b:section id='sidebar' showaddelement='yes'>
<b:widget id='PopularPosts1' locked='false' title='Popular Posts' type='PopularPosts'>
<b:includable id='main'>                       
                                     <div id='sidebartitlewrapper'>
                                         <b:if cond='data:title'><h3><span><data:title/></span></h3></b:if>                                       
                                     </div>                                    
                                     <div class='sectioncont'>
                                         <ul class='mostpopular'>
                                             <script type='text/javascript'>
                                                 //<![CDATA[                                                
                                                 var i=0;
                                                 //]]>
                                             </script>
                                             <b:loop values='data:posts' var='post'>
                                                 <script type='text/javascript'>
                                                     //<![CDATA[                                                
                                                         document.write ('<li class="mostpopular_li color'+i+'">');
                                                         var i= i +1;
                                                     //]]>
                                                 </script>
                                                  <a class='barlinko' expr:href='data:post.href'><data:post.title/><data:post.id/></a>
                                                 <span style='display: inline-block;width:100%;'>
                                                     <span style='float: left;font-size:10px;color:#f5f5f5;'> </span>                                                       
                                                     <span class='cb'/>
                                                 </span>
                                                 <script type='text/javascript'>
                                                     //<![CDATA[                                                
                                                          document.write ('</li>');
                                                      //]]>
                                                 </script>                                           
                                             </b:loop>
                                         </ul>
                                     </div>                                    
                                     <b:include name='quickedit'/>
                                   </b:includable>
</b:widget>
</b:section>

 Insert this code into sidebar as other script . Do not insert in other section element .For the question what 'section' is ,pls read this post

Save changes and go back to Dashboard .

4, Click on View blog to see the result . We need some work here
Click on the wrench icon in the right corner of widget

I marked it with a circle .
A dialog will display . Change the setting as picture bellow

Save settings .
That's all for this widget . Hope it works ^^

Wednesday, 1 February 2012

Enable Threaded Comment in Simplex's templates


Newer version here
Blogger official support threaded comments . You can see the demo in SimplexDesign blog ^^ .
I think it's better than Blogger default comment ,and more convenient than embedded comment systems such as Disqus , IntenseDebate ...In this post ,you will learn how to enable this feature in Simplex's templates


To enable this function in Simplex's templates , you can follow these steps :
1,Go to Dashboard - > Template - > Edit HTML
Check on Expand widget template


2,Find this line
lt;b:include data='post' name='comments'/>
And change it to
lt;b:include data='post' name='threaded_comments'/>


3,Save template .
Ok ,you can see the threaded comment system work in your blog .


4,To make the threaded comment look like what is in SimplexDesign ,you can paste this code right before <body>   :




<style>
/*------------- START Blogger Threaded Comments by www.ravisaive.in -------------*/
.comments {
  clear: both;
  margin-top: 10px;
  margin-bottom: 0px;
  line-height: 1em;
}
.comments .comments-content {
font-size: 12px;
margin-bottom: 16px;
font-weight: normal;
text-align:left;
line-height: 1.4em;
}
.comments .comment .comment-actions a {
display: inline-block;
margin: 0;
padding: 1px 6px;
border: 1px solid #C4C4C4;
border-top-color: #E4E4E4;
border-left-color: #E4E4E4;
color: #424242 !important;
text-align: center;
text-shadow: 0 -1px 0 white;
text-decoration: none;
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
border-radius: 2px;
background: #EDEDED;
background: -webkit-gradient( linear, left top, left bottom, color-stop(.2, white), color-stop(1, #E5E5E5) );
background: -moz-linear-gradient( center top, white 20%, #E5E5E5 100% );
font: 11px/18px sans-serif;
padding:2px 8px; margin-right:10px;
}
.comments .comment .comment-actions a:hover {
text-decoration: none; background:#fff; border:1px solid #5AB1E2;
}
.comments .comments-content .comment-thread ol {
  list-style-type: none;
  padding: 0;
  text-align: none;
}
.comments .comments-content .inline-thread {
  padding: 0.5em 1em;
}
.comments .comments-content .comment-thread {
  margin: 8px 0px;
}
.comments .comments-content .comment-thread:empty {
  display: none;
}
.comments .comments-content .comment-replies {
  margin-top: 1em;
  margin-left: 40px;   font-size:12px; background:#EBF5FE;
}
.comments .comments-content .comment {
  margin-bottom:16px;
  padding-bottom:8px;


}
.comments .comments-content .comment:first-child {
  padding-top:16px;
}
.comments .comments-content .comment:last-child {
  border-bottom:0;
  padding-bottom:0;
}
.comments .comments-content .comment-body {
  position:relative;
}
.comments .comments-content .user {
  font-style:normal;
  font-weight:bold;
}
.comments .comments-content .user a {
color:#2D5E7B; font-size:14px; font-weight: bold;text-decoration: none;
}
.comments .comments-content .icon.blog-author {
  width: 18px;
  height: 18px;
  display: inline-block;
  margin: 0 0 -4px 6px;
}
.comments .comments-content .datetime {
color: #999999;
float: right;
font-size: 11px;
text-decoration: none;
}
.comments .comments-content,
.comments .comments-content .comment-content {
  margin:0 0 8px;
}


.comment-header {background-color: #F4F4F4;
    border: thin solid #E6E6E6;
    margin-bottom: 5px;
    padding: 5px;
}
.comments .comments-content .comment-content {
  text-align:none;
}
.comments .comments-content .owner-actions {
  position:absolute;
  right:0;
  top:0;
}
.comments .comments-replybox {
  border: none;
  height: 250px;
  width: 100%;
}
.comments .comment-replybox-single {
  margin-top: 5px;
  margin-left: 48px;
}
.comments .comment-replybox-thread {
  margin-top: 5px;
}
.comments .comments-content .loadmore a {
  display: block;
  padding: 10px 16px;
  text-align: center;
}
.comments .thread-toggle {
  cursor: pointer;
  display: inline-block;
}
.comments .continue {
  cursor: pointer;
}
.comments .continue a {
display: inline-block;
margin: 0;
padding: 1px 6px;
border: 1px solid #C4C4C4;
border-top-color: #E4E4E4;
border-left-color: #E4E4E4;
color: #424242 !important;
text-align: center;
text-shadow: 0 -1px 0 white;
text-decoration: none;
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
border-radius: 2px;
background: #EDEDED;
background: -webkit-gradient( linear, left top, left bottom, color-stop(.2, white), color-stop(1, #E5E5E5) );
background: -moz-linear-gradient( center top, white 20%, #E5E5E5 100% );
font: 11px/18px sans-serif;
padding:2px 8px; margin-right:10px;
}
.comments .comments-content .loadmore {
  cursor: pointer;
  max-height: 3em;
  margin-top: 3em;
}
.comments .comments-content .loadmore.loaded {
  max-height: 0px;
  opacity: 0;
  overflow: hidden;
}
.comments .thread-chrome.thread-collapsed {
  display: none;
}
.comments .thread-toggle {
  display: inline-block;
}
.comments .thread-toggle .thread-arrow {
  display: inline-block;
  height: 6px;
  width: 7px;
  overflow: visible;
  margin: 0.3em;
  padding-right: 4px;
}
.comments .thread-expanded .thread-arrow {
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAc AAAAHCAYAAADEUlfTAAAAG0lEQVR42mNgwAfKy8v/48I4FeA0AacVDFQBAP9wJkE/KhUMAAAAAElFTkSuQmCC") no-repeat scroll 0 0 transparent;
}
.comments .thread-collapsed .thread-arrow {
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA AcAAAAHCAYAAADEUlfTAAAAJUlEQVR42mNgAILy8vL/DLgASBKnApgkVgXIkhgKiNKJ005s4gDLbCZBiSxfygAAAAB JRU5ErkJggg==") no-repeat scroll 0 0 transparent;
}
.comments .avatar-image-container {background-image: url("http://img846.imageshack.us/img846/7357/unled1oww.jpg");background-position: center center;background-repeat: no-repeat;float: left;width: 36px;max-height: 36px;margin: 0;outline: 1px solid #FFFFFF;padding: 3px;vertical-align: middle;overflow: hidden;
border: 1px solid #DDDDDD;}
.comments .avatar-image-container img {
  width: 36px;
}
.comments .comment-block {
  margin-left: 48px;
  position: relative;
}


/* Responsive styles. */
@media screen and (max-device-width: 480px) {
  .comments .comments-content .comment-replies {
    margin-left: 0;
  }
}


/*------------- End of Blogger Threaded Comments by www.ravisaive.in -------------*/
</style>


This CSS snipet is not from me . It's belong from www.ravisaive.in . So please keep the credit line in this snipet .
That's all . Hope it helpful to you all :D

Wednesday, 25 January 2012

New comment pagination - solution for posts with 200+ comments


If you are using Blogger default comment system (not threaded comment ) , you might see an error : comment pagination not shown for posts with 200+ comments .
What is comment pagination ? In the picture above ,I marked a circle around comment pagination .
So what is the solution for posts with more than 200+ comments ?


Yes ,blogger team said that they has an API for comment pagination ,but I don't know why it doesn't work in my blog . For example , my post on Simplex Enews template has 250 comments ,and I added comment pagination code into template , but I see no comment pagination appear . It only show first 200 comments and their no way to move to the last 50 comments .
So I decided to make it myself ,add a little javascript into template for comment pagination . Fortunately ,it work ,so I think it maybe helpful to you in case your blog use default comment system and your post has more than 200 comments :D

Here are steps for making a comment pagination as I did ^^ pls backup before follow steps bellow ,because at least we have a way to comeback .

1,Go to Dashboard - > Template -> Edit HTML .

2,Add these line right before ]]></b:skin>

#commentpaging {float:right;}
#commentpaging a {margin-right:5px;}


3,Add the code bellow before <body>

<script type='text/javascript'>
//<![CDATA[
function commentpagination(url,comment){
 var posturl= url;
 var comment = comment;
 cmpage = Math.ceil(comment/200);
 document.write('<a href="'+posturl+'?commentPage=1">Oldest</a>');
 for (var i = 1; i <= cmpage; i++) {
    document.write('<a href="'+posturl+'?commentPage='+i+'">'+i+'</a>');
 }
 document.write('<a href="'+posturl+'?commentPage='+cmpage+'">Latest</a>');
}

//]]>
</script>


4, Find this line
<b:includable id='comments' var='post'>
and add these code right after the line above
<span id='commentpaging'>
                                     Comment Page :
                                     <script type='text/javascript'>commentpagination(&quot;<data:post.url/>&quot;,&quot;<data:post.numComments/>&quot;);</script>                                       
                                 </span>

So here is what you got
<b:includable id='comments' var='post'>
<span id='commentpaging'>
                                     Comment Page :
                                     <script type='text/javascript'>commentpagination(&quot;<data:post.url/>&quot;,&quot;<data:post.numComments/>&quot;);</script>                                       
                                 </span>


5,Save template . That's all .

How it work


First ,this script will take the number of comment in  a post ,and than divide by 200 . Round up the result to the nearest integer ,we will get the number of comment pages .
For example ,if my post has 250 comments :
250/200 = 1.25 -> round up -> 2
So the comment page 1 contain first 200 comments and the comment page 2 contain the last 50 comments .
The url to a comment page has structure :
http:// post url .html?commentPage=comment page number
for example ,here is the url of comment page 2 in my blog
http://www.thesimplexdesign.com/2011/02/simplexenews-latest-version-fixed.html?commentPage=2

When we get the number of comment page ,and comment page url structure ,the next step is very simple ,just write down all comment page with a loop statement .

It's the way this code work . Hope this helpful to you