Anatomy of Office 365 public blog

As I found no easy ways how to make public blog on Office 365 more user and SEO friendly I tried to find other and more technical ways how to accomplish problems. Although it seems like there is not much to do about usability I still found some interesting details about technical side of public blog. Let’s dig deeper.

I just wanted… to make some minor modifications to how my blog is shown to visitors plus some SEO improvements but I discovered whole new world of unexpected mysteries that are still interesting enough to blog about. My main goal was making post lists show only first paragraph of posts but it turned out to be mission impossible.

Anatomy of blog front page

As blog on public site doesn’t live in separate web it maybe interesting to find out how it is implemented. But first let’s edit blog front page in browser:

Office 365 public blog: Layout of front page

If you click on image and see it at original size you can see two web part areas – left column and right column. All visible blocks on page are actually web parts. This holds true also for other blog pages (in red boxes on following screenshot):

Office 365 public blog: Files used to mimic the blog

So, we have pages with web parts and some URL rewriting here. All these pieces come together on web part level as I think but let’s go further and see what kind of disaster is waiting for us by default.

Client-side rendering

By default your public blog uses technology called client-side rendering. It means that output is formatted by JavaScript and there’s not much control over content that is loaded to browser.

Office 365 public blog: Metrics of cold load of blog front page

With only some small content available in blog (about 4 short posts that are fully loaded to main page) we get the size of first request 517KB. There’s 28 requests (one to image in blog post) and page loading time is almost 6 seconds. It’s not normal result on 30 megas download speed and fast quad-core CPU.

When opening page source we can find huge block of JavaScript like this from page.

Office 365 public blog: Tons of JavaScript

This disaster is comes with client-side rendering and this is because the front page of my blog is huge and slow.

What is alternative to client-side rendering?

The alternative to client-side rendering is server-side rendering. We can easily switch web parts to server-side rendering by using web part properties but then we fallt o bad and nasty trap – forced defaults we cannot change. Let’s move to server-side rendering and see what’s happening.

Office 365 public blog: Server-side rendering

Okay, we have a little bit different layout – it’s default one you see in SharePoint – and it’s just shown on our nice layout. Not just what we need.

XsltListViewWebPart mysteries

The post list web part is XsltListViewWebPart and this web part in normal cases supports two sets of XSL-transformations:

  • ones defined by web part,
  • ones defined by view that web part uses.

I went through the following steps:

  1. Copied default XSL for web part to separate XSL-file.
  2. Made some modifications to make sure that my XSL is used.
  3. Uploaded my XSL-file to SharePoint site.
  4. Set posts web part XSL-file property to point to my new XSL-file.
  5. Saved everything.

And guess what? No result. Fancy thing is that when I open web part properties I see this kind of URL there:

Office 365 public blog: Overridden XSL link

Full location is:

/_layouts/15/Xsl/PublishingBlog.xsl

Well… whatever we say in web part settings we always get this location for XSL-file. There’s no way to use your own XSL as I found out.

Conclusion

In this point I made new support ticket to Office 365 support to find out what the hell is going on and why I cannot tune my blog to be optimized better. Not being able to control the output makes Office 365 blogs almost unusable for professional bloggers who must work in context of business blogging when different rules apply. After all these struggles I decided to write one negative point to Office 365 public blogs as they are not able to compete with other paid blogging services.


One thought on “Anatomy of Office 365 public blog

Leave a Reply

Your email address will not be published. Required fields are marked *