WordPress .htaccess file HTTP to HTTPS

Sometimes when you update your theme on WordPress, the original .htaccess file will get over-written.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R=301,L]

# BEGIN WordPress
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Solution Fixation

Sometimes we have it in our head a solution to what we think is the problem. This fixation on the solution leads us to be blind to new information that may arise through the investigation of the problem. In this sense, your mind has already made it’s decision – the solution stays the same regardless of the actual problem. This is made more dangerous when every one starts drinking the same kool aid.

It is helpful to pause from time to time to remind yourself: what is the problem you’re trying to solve?

Everyone should learn to code, everyone should learn to design

The first image when I googled "You can be a designer". Mattel for it covered.

The first image when I googled “You can be a designer”. Mattel got it covered.

I posted this tweet about 1.5 years ago.

Well, the learn to code bandwagon has not died down since. Between IDA’s Smart Nation and General Assembly coming to Singapore, you know things are getting serious when the big boys get behind it.

To an average user, the software isn’t made up of code comments, super encapsulated classes, methods etc. It’s the interface. The software is the interface you provide your users. If you can’t design software to be usable, you don’t have software. On that note, think of how many man hours ACRA would save SMEs if they have a better interface.

So, the push for more computer engineers and developers needs to be coupled with a push for more creative people into User Experience, User Interface and Information Architecture disciplines. And it’s not an easy role either. To be a competent frontend designer, you need to understand:

  • UX/UI
  • Human psychology
  • Effective copy writing
  • Information Architecture
  • Overall business objectives
  • SEO
  • The role of A/B testing
  • Content marketing
  • Analytics
  • Mobile and responsive design

Geez that’s a lot of stuff. I would say finding a good front end designer is even harder than finding a good programmer.

It won’t be long before we starting seeing the Singapore/SE Asian versions of http://designerfund.com/


“Things may come to those who wait, but only the things left by those who hustle.”

-1. AngularJS

Angular is great for building out SPA and dynamic applications. However, this can lead to some issues with Googlebot.
Screen Shot 2015-03-31 at 3.11.09 pm

See also: http://www.browseo.net/?url=https%3A%2F%2Fwww.99.co%2Fsingapore%2Frent%2Fcondos%2Fhillview-green%2F8Tiy9G8Xoi7zvUHXFU5YfW

There are some solutions to the AngularJS/SEO problem including services like http://www.brombone.com/ and https://prerender.io/js-seo/angularjs-seo-get-your-site-indexed-and-to-the-top-of-the-search-results/.

The main way to solve this problem is to pre-generate pages using a headless browser like PhantomJS and serve these to Google. I believe PhantomJS is really slow and a resource hog as well. The alternative way is to side step the issue and build the “hybrid” pages as mentioned in the Quora question.

0. URL and Country Structure

Generally speaking, having a specific ccTLD such as 99.sg for Singapore, 99.my for Malaysia, is the best and strongest indicator you can give to Google for knowing what pages to serve up for internationalisation.

However, going the subdomain or subfolder approach also works so long as you add each new country as a different site in Google Webmaster Tools and set the right geotargeting settings. Between the two, subfolder is probably better than subdomain for a variety of reasons. So having something like https://www.99.co/sg/rent/listings/jalan-keli-bishan-singapore-YKkxZcR3P7SYvtcLiCN5GF is okay.

However, there could be some issues with duplicate content with the current URL structure. Consider the following two URLS

Which has the canonical condo information landing page?

1. Landing Pages for Condominiums

If you do a search for the condo “Hillview Green”, using google.com.sg (which should be the default for most users in Singapore), this is the above-the-fold result on my MBA.

Screen Shot 2015-03-31 at 1.08.57 pm

PropertyGuru has two types of landing pages for that key phrase: 1) a project listing page and 2) a search results page.

The nearest 99.co equivalent is: https://www.99.co/singapore/rent/condos/hillview-green/8Tiy9G8Xoi7zvUHXFU5YfW. There doesn’t seem to be a default condo landing page that provides information about the condo itself.

The search term “hillview green” gets about 140 monthly local searches so it’ll be a good idea to have a dedicated landing page to each condo in the database, much like what PropertyGuru is doing at the moment.

2. Landing Pages for HDB Estates

The same strategy also applies to HDBs. New HDB clusters are normally grouped together. For example, Casa Clementi refers to a cluster of flats located at Clementi Avenue 1. In new estates such as Punggol, every group of flats are all named e.g. Punggol Spectra, Punggol Breeze etc.

These search terms are great because they can be generated from the database, are considered long tail and hence low in competition and reasonably sizeable in search volume.

Screen Shot 2015-03-31 at 1.19.02 pm

This is an area where 99.co can get a leg up on PropertyGuru. From what I can see, PropertyGuru does not have dedicated landing pages for these types of search terms and neither does 99.co.

85% of Singapore lives in public housing. The remaining 15% in private landed, condos or apartments. If we assume 10% to be the number of people living in condos, and that there are 2,500 condos in Singapore, then we can hazard a guess that there will be about 2500 * 8 = 20,000 as many HDB Estate names. Assuming each HDB Estate has a search volume of 100, that’s an addressable search volume of 4,950,000 searches per month.

3. Landing Pages for Every Single HDB Block

PropertyGuru builds out thin landing pages from their database. These HDB block landing pages look like this

Screen Shot 2015-03-31 at 1.23.08 pm

99.co should do the same but provide better content. Such content can include:

a) Transacted history
b) Floor plans
c) Information about amenities in the area
d) Photographs
e) Map showing other property in the locality.

This is where nearby.sg has done a pretty good job in generating content from their database. See http://www.nearby.sg/food-drink/cafes/coffee-house/1/1.382502/103.747102/212_Chua_Chu_Kang_Central_Singapore_680212.

Take an average search volume of 50 per block search term and multiply this by the number of HDB blocks in Singapore and you’ll arrive at the addressable number of monthly searches. It’s a lot.

The idea behind points 1 to 3 are simple: generate landing pages with exact URL and title match for content that has search volume. This increases the total number of pages that will be indexed by Google and thus increasing the likelihood of a 99.co page being served up.

4. Content Targeting Home Sellers/Buyers/Landlord/Renters

Shopify has eCommerce university, Digital Ocean has tutorials. This use of content marketing allows them to be seen as an authority in their domain.

Similarly, 99.co can create up-to-date authoritative guides with the following titles:

a) The Definitive 2015 HDB Buyer Seller Guide
b) Everything You Need To Know About Renting a Condo in Singapore as an Expat
c) 15 Mistakes First HDB Buyers Make
d) The Ultimate Guide to Buying your First Home

Examples of good content can be seen at moneysmart, their link bait content picks up 1000s of shares.

Screen Shot 2015-03-31 at 2.15.38 pm

These can be created in the form of a blog post or a white paper that is updated whenever the rulings change.

99.co operates a marketplace. This set of content will address both halves – the buyer and the seller.

5. Content Targeting Agents

Likewise, there should also be content targeting the Agents. A lot of the this material can be sourced from the compulsory CEA course. In addition to that, agent specific content could be as follows:

a) HDB Buying Checklist for Agents
b) Condo Renting Checklist

These can be packaged up as a webpage or even an app (see point 9).

6. Events – Be Seen as a Thought Leader for “Property2.0”

The easiest way to get going is to schedule appoints with the various agencies for a “talk spot” which I know they organise. Me and Calvin pitched hellohome at such an event with Orangetee last year.

One person doing this well in building a personal brand is Thomas Tan. He’s a funny guy and also my teacher for the CEA course. However, he’s not really a digital kind of guy.

A lot of agents still belong to the old guard and don’t really grok the web like us. Therein, lies the importance of face to face interactions.

7. Agent CMS and Backlink Building

I wrote about this tactic before: https://pragmaticstartup.wordpress.com/2014/03/04/seo-growth-hack-on-propertyguru/.

In a nutshell, every agent that signs up gets their own “Agent Profile”. The Agent Profile gets seeded with a bunch of content with links back to 99.co. You can see an example of this here: http://www.98199199.com/agent-page/53785/buying-guide. The key phrases being targeted are obvious.

Screen Shot 2015-03-31 at 5.04.03 pm

99.co can do something similar but with better UI/UX. Don’t just treat it as a scalable back link acquisition tactic. My mom has been a property agent for about 10 years now. I’ve helped her set up her blog http://www.savvysgprop.com but she doesn’t use it very often. All she wants is a dead simple way to list her listings on her own domain and make simple blog entries.

Such functionality can also be connected to an Agent Mobile Listing App for greater adoption.

8. Backlinks

If you were to distill SEO down to the most important factor, it would be backlinks. The more backlinks you have from authoritative sources, the better. PropertyGuru has an advantage in that they have been operating for many years now and have built up a good natural backlink profile, which is also why so many of their pages show up on the first page of SERPs.

So how can 99.co fight this?

I mentioned a lot of content building earlier. The next step is really to reach out to relevant bloggers, news outlets and like to promote said content. It’s a well trodden path of SEO link building and an on-going effort.

Next, 99.co can “manufacture” backlinks by building out your own PBN. Either create subdomains such as thesail.99.co or register new domains such as thesail.sg. Then, build out n pages of content on each site and have a link back to the landing page dedicated to The Sail. Rinse and repeat for all 3500 condos in Singapore an viola, 99.co suddenly has 3500 backlinks.

9. Apps

When Calvin and I were looking at the property space with hellohome, I built out a bunch of calculator apps. Here is one that is doing well on the Finance category on the Singapore App Store: https://itunes.apple.com/sg/app/progressive-payment-calculator/id844200225?mt=8

I wrote about this earlier in my blog: https://pragmaticstartup.wordpress.com/2014/05/29/what-i-learnt-building-6-real-estate-iphone-apps/

The Progressive Payment Calculator is used by new condo buyers and agents to calculate the amount of money that is required at each stage of the process.

The idea behind this is to simply build out a suite of apps that is useful to both agents, buyers, renters and so on.

This can be both applied to both mobile and web apps. See http://www.moneysmart.sg/tools/stamp-duty-calculator.

If it’s a web widget, make it embedabble such that other agents can post it on their blog. Here’s an example of a home property value calculator on stproperty.

Screen Shot 2015-03-31 at 2.25.47 pm

10. Images

I see that 99.co is already providing photography services to agents. I think this is a great idea. It’s also from the AirBnb playbook. The images can be used to populate the landing pages I mentioned earlier. Also, every single image that is optimised correctly using the right img tags could also show up in Google SERPs.

But why stop there? Get original content in the form of good quality photography for all the properties. Pictures showing the car park basement, children’s playground, the mini mart, are often absent from property listings. Having such new original content is imperative in playing the Google SEO game.

*28/03/2018 UPDATE* 11. Buy a Content Company and Point Back Links at the Money Pages

See https://www.bestproducts.com/. Who owns the website? A large media conglomerate called Hearst. When you have backlinks from the likes of established brands such as Men’s Health, Bazaar etc, your domain authority should rocket through the roof.

Same idea applies. See http://www.viperchill.com/google-control/for a full breakdown.

So I have more ideas actually but I think I’ll stop here. I didn’t see a job posting for “user acquisition” on your jobs page but I’m looking for a job. So if you guys are keen, I’m happy to discuss more.

UICollectionView Doesn’t Fill The Screen. Leaves a Top and Bottom Thin Black Margin

If you have a UICollectionView in a UIViewController, you might see something like the image shown here. There are two horizontal black space running across the top and bottom of the Cell. The reason for this is because you might have

- (BOOL)prefersStatusBarHidden {
    return YES;

The spacing seems to be space set aside for the status bar.

Screen Shot 2014-03-28 at 11.45.44 am