Showing posts with label Bugs and Errors. Show all posts
Showing posts with label Bugs and Errors. Show all posts

Blogger: Sitemaps Wrongly Sorted & Causes Indexing Delay

By

Around Feb, 2015 we announced that blogger creates a dynamic sitemap.xml file for all blogspot blogs and you don't need to submit your RSS or Atom Feed links to Google Search Console  anymore. Later we discovered that this sitemap file created only 20 nested pages where each nested page linked 150 blog posts so in total this sitemap would submit only 3000 posts to search engines. For blogs which had more than 3000 posts published this was a problem. To counter this issue we introduced Blogger Sitemap Generator tool that helped you to create remaining sitemap.xml nested pages.

blogger sitemap.xml causing indexing delay

Just this week blogger has fixed this issue permanently and now blogspot sitemap.xml file will dynamically create nested pages for all your blog posts inside the sitemap index. Which means whether you have over 3000 posts or less than 3000 posts published, Blogger will include them all in the sitemap.xml index list.

You no longer need to manually submit sitemap.xml?page=21+ pages. See the pic below for illustration

blogger sitemap.xml wrongly sorted

Now submitting a single sitemap.xml file will submit all your blog posts to Google search console and Bing webmasters tool. No need to manually submit nested pages as shown in the image below.

Sitemaps Are Wrongly Sorted and Causes Indexing Delay

I observed a new change which though seems weird again.

Blogger parent sitemap.xml file has the following nested pages in its sitemapindex:

http://www.mybloggertricks.com/sitemap.xml?page=1

http://www.mybloggertricks.com/sitemap.xml?page=2

http://www.mybloggertricks.com/sitemap.xml?page=3

http://www.mybloggertricks.com/sitemap.xml?page=4

http://www.mybloggertricks.com/sitemap.xml?page=5

http://www.mybloggertricks.com/sitemap.xml?page=6

http://www.mybloggertricks.com/sitemap.xml?page=7

http://www.mybloggertricks.com/sitemap.xml?page=8

http://www.mybloggertricks.com/sitemap.xml?page=9

http://www.mybloggertricks.com/sitemap.xml?page=10

The latest posts (recent 150 posts) are added in sitemap page=1 and oldest posts are added inside page=10. In short the sitemap Index is designed in such a way that latest posts are added at top and oldest at bottom, sorted by date and post count of 150 accordingly.

One problem that this method causes is that it will increase the work load on Google search console. Because each time you publish a new post, the arrangement of links inside all your sitemap pages will change. Because the oldest post inside page=1 will be replaced by the newest at top, thus pushing the oldest post to page=2. Since a new post is added inside page=2, so page=2 will have to push its oldest post to page=3 and thus the cycle continues, causing a wave of change on all nested pages.

Because of this poor sorting of links in the sitemap index, I observed that Google is indexing our latest posts very slow. Now new posts does not appear in SERPs for over 24 hours unless we manually submit it. This happens because each of the sitemap nested page goes through an update which forces Google to re-index all sitemap pages again, thus wasting precious time of Google.

Update: Surprisingly our posts are now indexed without any delay within minutes of getting them published. But I will still recommend this fix to Blogger team.

Blogger Team Must Fix The Sitemap.xml Link Sorting Issue

I would request blogger team to fix this links sorting issue and instead allow new links to be added inside a separate nested page if in case the last nested page is full or contains 150 links. Links inside Sitemap pages must not be replaced with a newer entry and the arrangement must exist without going through any change. Replacement of links inside nested pages is seriously causing indexing delay at Google search console and effecting our organic traffic.

Please raise this issue at official Blogger Help Forum and inform the blogger team to fix this link sorting issue as soon as possible.

Are you experiencing similar problems at Google search console? Are your latest posts getting indexed normally or with a significant delay? Are your experiencing a delay in your blog search index rate? Do share your concerns with us.

Open Live Writer: Fix Blogger Login Errors

By

Fix All Blogger errors inside Open Live WriterCongratulations! You can now successfully connect Open Live Writer to Google Blogger.

Windows Live Writer's clone, the Open Live Writer (OLW), was officially updated yesterday with Google's OAuth 2 modern authentication system. The Blogger accounts login errors or credential connection issues have been fixed and solved. Some bugs still exist when it comes to multiple blog posting, post formatting and assigning labels to your posts. We have figured some tweaks to troubleshoot all these minor errors to make sure you connect your BlogSpot blog with Open Live Writer correctly without facing any future troubles.

This is our first blogger post published with Open Live Writer! =)

Note: Click the Button below to see full list of topics under discussion.

OLW Topics List

1. Fix Login Connection Errors

The Volunteers at Microsoft has released a new version of OLW that has fixed the connection issue. OLW now works fine with Google Blogger v3. I have included below the direct link to the team's frequently updated setup copy called "Nightly" which contains several unrelased features that you can try out. Download the latest version from the link below:

During the installation you will now see a separate option entitled as "Google Blogger"

Blogger Option in Open Live Writer

 Note: I will publish a detailed post on how to setup Blogger with OLW correctly in next 24 hours.

2. Fix Remote Server Errors

OLW will publish your first post without errors but sooner as you try to publish a second post or Close OLW and the reopen it to publish a new post, you will encounter the following error during publishing:

The remote server returned an error: (403) Forbidden.


The remote server error is caused because OLW is not able to remember your blog account's password. To fix this issue follow these steps:

1 Go To File > Options > Accounts

Open Live Writer Options

2 Select your preferred 'Blog' and then click Edit

Select your Blog

3 You will observe that the Password field is empty or set to null. You

Empty Password Field

4 Click the button "Update account information"

5 Enter your Gmail password inside the password box and also check "Remember my password".

add password again

6 Hit "Next" and your blog theme will be updated!

Thus this stops the server errors from promoting again and OLW will remember each time what your blog password is.

Note: If you encounter this error again then it means you had not chosen the option "Remember my password". Repeat the process again to sort it properly.

3. Fix Label Issue

Note: The Label option is only available in the Nightly download copy that we shared above. It is not present in the official release copy. Therefore you may download OLW using the link we provided above.

Windows Live Writer has a tagger tool, on clicking which all your blog labels are displayed inside a drop down menu. You can then select a Label easily to set your post categories.

blog category list

WLW also helps you easily add new categories or labels in blogger.

add a category

 

But in Open Live Writer you need to manually add or set the Labels for your blogspot post. There exists no automatic way to display full category list for blogger although it exists for Wordpress and other platforms. However there is an easy old traditional work around to apply labels to your post inside OLW.

OLW displays this old-school "Category Box" above your blog post.

category field

(a) Set category in OLW for your blogger blog

Blogger labels are case sensitive, any mistake in uppercase and lowercase letters could lead to error but OLW has handled this problem quite smartly. You don't need to bother about letter casing while assigning labels to your posts in OLW.

For example if your blogger label is "Affiliate Marketing" , you can easily set this label to your post inside OLW by writing "affiliate marketing" or even "affiLiatE MARKETING" , no matter what you write as long as the spelling is correct, OLW will assign the label correctly.

To set multiple labels to a blog post, comma separate labels inside the "Category box" . As shown below:

adding labels

(b) Add New Labels To Your Blog using OLW

You can also create new labels inside Open Live Writer to assign to your blog posts.

Simply write down your new Label inside the "Category Box" and publish your post to Blogger! That's it.

creating new label

Bingo! New Label created and added successfully to your blog post!

4. Fix Formatting Errors

Just Like WLW, Open Live Writer also makes unnecessary editing changes by replacing hyphens with dash, double quotes with smart quotes, test smileys with graphical emoticons and so on. This creates a serious formatting error in your code if you share scripts or HTML inside your blog posts as tutorials. To fix these errors do this.

1. Go To File > Options > Editing.

2. You may uncheck all these boxes. Especially the first two.

Uncheck all editing options

3. Done!

Need Help?

This was a quick post to help you troubleshoot some of the most common errors blogger users are encountering currently. I hope this post proves helpful for most of you. Let me know if you need any help with regard to any part of the tutorial above. What other errors could you report? Are you facing any error that we have not discussed above. Kindly let us know so that we may include it in the list above. Start posting happily now during these holidays with your new Blogging friend i.e. Open Live Writer. =)

2 ways To Fix XML Parsing Errors in Blogger

By

fix XML errors in blogger editorMost often when you insert a Facebook JavaScript or AdSense JavaScript in your blogger template editor, you often come across XML Parsing errors that prompts and says "The reference to entity "version" must end with the ';' delimiter." Blogger blogs are coded in XHTML and  XML is quite strict in following correct syntax formatting than HTML. XML is surely unforgiving in this case. Blogger interprets all your document as XML rather than as HTML. XML is PCDATA (Parsed Character Data) by default which means that XML parsers will normally parse all the text in a document. As a result when we insert JavaScript inside blogspot templates, all script inside the JavaScript tags is treated as a text and due to the presence of some illegal special characters like "<" , ">" and "&" , you often face the following error:

 

Error parsing XML, line 1458, column 64: The reference to entity "version" must end with the ';' delimiter.

error parsing xml in blogger

What are the special characters in XML that causes error?

XML is a human readable form of textual data. It parses all the text in a document and gives errors for the following 5 special characters:

  1. (<)  - less than

  2. (&) - ampersand

  3. (>) - greater than

  4. (")  - double-quote

  5. (')  - apostrophe or single-quote

The following three are more crucial:
  • "<" will generate an error because the parser interprets it as the start of a new element.
  • ">" will generate an error because the parser interprets it as the end of a start-tag or an end-tag
  • "&" will generate an error because the parser interprets it as the start of a character entity.

Two ways to fix XML errors in Blogger

XML errors can be avoided by using two methods:

  1. Use CDATA
  2. Escape HTML entities

 

1. Use CDATA

The term CDATA refers to (Unparsed) Character Data which is used about text data that should not be parsed by the XML parser. To avoid errors, all script code is enclosed inside a CDATA section. Everything inside a CDATA section including the 5 special characters is ignored by the parser.

A CDATA section starts with "<![CDATA[" and ends with "]]>":

Next time when you add your Facebook code, enclose it inside CDATA as shown below:

<script>
//<![CDATA[

(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.3&appId=";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));


//]]>
</script>

All your script code will exists inside the CDATA and blogger editor will not parse the script code and thus wont give any errors.

The reason why Facebook script gives errors in blogger is due to the presence of a special character (&) that is used before the variable "version" as highlighted in the code above. "&" will generate an error because the XML parser interprets it as the start of a character entity and thus it prompts an error that says:

The reference to entity "version" must end with the ';' delimiter.

 

2. Escape HTML entities

Another simple method is to escape all 5 special characters and instead use the legal characters as alternatives to the above 5.

  • Replace < with &lt;
  • Replace  > with &gt;
  • Replace  "  with &quot;
  • Replace  '  with &#039;
  • Replace  & with &amp;

PS: Note how every alternative character set ends with a delimiter (;)

This method will help you encode your AdSense code and paste it inside your template without errors. It will also help you paste HTML code inside blogger comments!

This method is also called as HTML encoding and we have built a Special tool for this purpose to help you encode HTML characters with ease.

Need Help?

I hope now you will be able to add social media plugins and third party scripts inside your blogger templates without any errors. Do let me know if you need any further assistance or clarification on any point. Would love to give a hand buddies! =)

Twitter Button adds a horizontal scrollbar to the page - [FIX]

By

twitter follow button causing horizontal scrollingRecently more and more people are experiencing problems with poor social media plugin UI. Twitter Follow button despite being mobile responsive messes up the site design by adding a long Horizontal Scrollbar to the bottom of the page temporarily for a few seconds and then it disappears. The Follow button is forcing the entire webpage to scroll horizontally. You might have seen a long green scrollbar at the bottom of our blog too. Upon debugging the site I found that the scrollbar was actually caused by the Twitter hub.html frame that renders within our site.

According to its developer benward the positioning of the hub frame is purely vertical (negatively positioned above the top of the page) however for some reasons we found that the webpage is forced to change its width dimensions. I have a simple fix for this bug that will prevent the Hub Iframe from exceeding a specified Parent container width size.

Prevent Hub Iframe From Causing a Horizontal Scrollbar

I am sharing the steps for blogspot blogs. The method described below is a standard procedure that applies to all platforms.

1 Go To Blogger > Template > Backup your Template

2 Click Edit HTML

3 Paste the following Style just above ]]></b:skin>

Simple Enclose your twitter Follow button Code inside the following Parent container

.twitterButtonFixmbt {position:absolute; overflow:hidden; max-width:300px;}

4 Save your template

 

Now enclose your twitter button code inside these Div tags

<div class="twitterButtonFixmbt ">

ADD Twitter Follow button code or Tweet button code here

</div>

That's it!

How it works?

I have enforced a maximum width of 300px and you can surely change it as per your container width. The position absolute and overflow properties along with max-width will make sure the Iframe doesn't exceed the prescribed Parent Dimensions.

Let me know if you needed any help. Peace and blessings buddies :)