Multi Language WordPress Website

Multi Language

Recommended Plugin

Multi Language Plugin that works with Divi

This plugin has a free version


Polylang Multi Language Plugin Configurations

What this article is really about is to help you get through that glitch that I have seen mentioned in several support forums. I was nearly ready to give up on the Polylang free plugin and just buy something because I couldn’t work out why my home page had disappeared and returned instead a 404 not found error.

There is already a very good article written by Divitheme with all the steps to getting the plugin working but I just wanted to add the step that wasn’t apparent to me. First off take a look at their tutorial. I would like to reiterate their steps are so nicely out-lined in the article by Divitheme so I am in no way trying duplicate their content, just add a little bit extra which helped me along the way.

So here goes.

Install the Polylang WordPress Plugin from the WordPress repository. Activate the plugin. Then go to the plugin settings via Dashboard > Languages > Languages and choose a language from the drop-down menu. Choosing a language will automatically populate the fields below this. Select the order of the languages setting your Default language to 0. Click ‘Add new  language’ . The language will appear on the right hand side in a list with all your languages. In the example below I chose English and German. Polylang-Language-Settings

You can also click the star icon on and off to set a language to the default language. In my case and the example above I only needed 2 languages. Install the Duplicate Post Plugin and activate it. When you head over to your posts or pages, hover over the list of posts or pages in your dashboard and you will see a new option next to ‘Edit | | Trash | View | Clone | New Draft’. Choose a page you want to translate. In my case it was the home page for my one page website. I clicked ‘clone’ and had an exact copy of my home page ready for translation. Here is the important step. Go into your primary language, in my case the English home page. On the right hand side you will see the language options. Under language I have selected English.

Link your default home page with your other language home pages

Now to link the 2 pages English and German I need to select the German page to link to from inside the Default home page language in my dashboard. So go to your default language home page dashboard. Once in put your cursor in the field below ‘Translations’. It will automatically show options of other pages on the site that are in another language. Select the desired page and language. Save your settings. You will see now that your page url has changed. For example the new url will be with the English translation code as part of the url. See screenshot below:


If you visit the page you just linked to you will see it is also linked and the url has incorporated the additional language code.

Hide the language code from your urls

If you do not want the url’s to show your language code you can hide this under the Settings > Languages > Settings > URL modifications. In the screenshot below I have configured the settings to show the language code in the url: Polylan-url-modifications

If you get the following Polyang Plugin Errors:

The chosen static front page must be translated in all languages

You will not be able to set the default home page until you have created at least 1 additional language for your home page and configured the settings above. Namely, go into your default language home page and choose the additional language to link it to. See explanation above.

Multi Language Menu

You will now navigate to Dashboard > Appearance > Menus and begin creating your multi language menu. First Create new menu, let’s say the English Menu. Add all the English language pages to it. Also add the new item created by the Polylang plugin called ‘Language switcher ‘.


Set the menu as your primary English Menu.

Create another additional language menu. Add the additional language pages to this menu. Set it as the default main menu for the additional language. Remember, you can only do this once you have created your additional language pages shown in the steps above.

Here is what the menu section would look like:






Thanks to the Divitheme Article for getting me here.

Thanks to Gordon Johnson from Pixabay for the lovely image

Follow us

Happy 15th Birthday WordPress

Cape Town Celebrates as WordPress turns 15

I set out on this Wintery Thursday to join the WordPress Cape Town Team and other WordPress enthusiasts to celebrate as WordPress turns 15. On the drive out to the Red and Yellow venue I was a little nervous. I didn’t know a soul there and wasn’t sure how I was just going to mingle and look like I belonged, when in fact, I knew no-one.

But that is what is amazing about WordPress. You still know deep down, or right up on the surface, that you are a part of something bigger than yourself, much bigger, the world around, and that whether or not you know anybody you still belong.

So in I walked in and found a lovely atmosphere with everyone chatting around a delicious snack table and a fabulous WordPress birthday cake waiting to be cut.


But I knew noone and everyone was chatting in small groups.

I felt nervous.

And then I just decided I was going to introduce myself and say I didn’t know a soul. (I could always just leave and no-one would notice!) The minute I did this I found plenty of other people who were also there alone and were welcoming and happy to chat with me.

That is why people around the world get together, even when they may not know anyone, because one thing we all know is that we are part of this great WordPress community.

Thanks #WP15 and #wpcapetown and all the sponsors.

Loved the cake.

How do I build my own Website

How to begin putting together your Website….

Firstly, the most exciting part of setting up a website is to think up the domain name for your site. If your business is localised, stick to a localised domain name relevant to your country. This will ensure that your target market can see you are local. Too many local business fancy a .com domain name, and scare the locals away. Who can import a carpet cleaner to clean their carpets from overseas? Then focus on your content. Without content there is no website. Ask yourself the following questions: Who are you, How do you want to show yourself to the World, How can people get in touch with you, How can you reach out to your clients.

? Compiling Your Site..

Sketch out some rough A4 pages and focus on layout of your website, name the menu items, decide how many pages your site will need to reach your audiences. Now begin collecting your content. Also decide on the design. The best way forward is to search for sites you like that resonate with how you see your own website.From here you can take your ideas and concepts to your Graphic Designer. Be sure that your Web Designer and Graphic Designer are either a one-stop-shop or put them in touch with each other so that design specs can match the website structure.

Now it is time to decide on the platform of your website. Do you want a static website built in XHTML? This is great for fast page loads and for sites that do not need to regularly update their content. Or more commonly, you may require a CMS platform, such as WordPress, Joomla, Drupal and more. One any of these platforms you will be able to manage your content yourself. You can edit pages, add galleries, update, blog, socialise, monetise and more. This is the exciting part, and be sure to choose a platform that you will be comfortable with, so do some research and Google the user-friendliness of the CMS that your web-developer recommends, as this will be your baby for the lifespan of your business.

Finally, enjoy the development process, and know that a website is not a once-off purchase, but an ongoing evolving organism floating in cyberspace. The more time and energy you put into your website, the more you will reap the benefits! Good Luck.

Setting up Adsense and Google DFP

Simplicity and Complexity of Google Adsense and DFP for Publishers

Google-AdsenseI began my Ad Network with Google DFP and as I don’t come from a business background it read like a Latin text book. I delved deeper and deeper into the meaning of everything to try and unravel terms such as “Advanced forecasting” “Ad Units, Placements, Line Items, Orders, Campaigns, Ad Networks, In-House” etc etc etc…
The task became so complex on the one hand that I wasn’t sure that I was qualified for the job. “Is this something I should have studied at University or College?” The terminology used in the Ad context is a language learned from text books, dry and arid projecting yields and forecasts, channels and inventory…

The process can be tricky for a first timer setting up Adsense so  here are some top articles that explain the process.

Top articles and YouTube tutorials on setting up Google DFP and Adsense

10 Tips to Get Adsense Account Approved for Your Blog or Website

How to fix googletag.defineSlot was called without a matching googletag.display call.

How to fix googletag.defineSlot was called without a matching googletag.display call.

How to fix googletag.defineSlot was called without a matching googletag.display call.

More About Google DFP

indexGoogle DFP is an Ad Server. It serves Ads that you either upload yourself, or that you syndicate from an Ad Network.

An Ad Network serves their own client’s ads such as Adsense.

The nitty gritty of it all is this: If you wish to serve Adsense Ads through Google DFP Ad Network, you need to set up an Adsense Account and get approval from Google first before DFP will start serving Adsense Ads.

Why is my Adsense application rejected?

There are a number of different reasons for this and a lot of this information is found in the afore-metioned articles but it took a lot of searching before I discovered why I kept receiving the rejection email from Google Adsense saying there was insufficient content on my client’s site. The site has over 6000 impressions per month and is a very thorough topical blog on Finance in South Africa. I couldn’t understand where there was a lack of content.

When you request approval from Adsense there is a brief waiting period, in my experience a couple of days and then you receive a notification in your Adsense dashboard saying you may proceed to the next step in the approval process which is embedding the Ad Code snippet supplied by Adsense, into your site.

I made a number of mistakes here because when you place the ad code on your site all you see is a blank hole where the ads should go. This really looks unprofessional and it is beyond me as to why Adsense cannot just serve a placeholder in the interim so that your site doesn’t have gaps in the content. So in my first attempt I set up a dummy page with some dummy text, embedded the Adsense code into a WordPress widget in the sidebar and awaited approval. I was rejected of course and realized the dummy content was obviously reviewed and viewed as just that.

My next attempt was to place the code on the home page at the bottom of the side bar, so that at least the blank space serving no ads was below the fold as it were. The home page of the site is a blog style layout which in WordPress terms meant that there were a number of articles, all snippets and not a full page of copy. This was also rejected by Adsense. Although they pointed out in the rejection email that there was insufficient content, I still had not clicked that it was because of the blog layout of the page. Finally I embedded the Adsense code on a single post page on the site in a recently published article. I also added a terms and conditions page to the footer of the site and at last the account was approved. The terms and conditions can be obtained from .

Now this was just the Adsense side of the journey. If you want to serve Adsense Ads through Google DFP it is really remarkably easy.

The following instruction is from Google Adsense Help Centre and explains quite clearly how to start serving Adsense Ads…the bit I was unclear about was whether I needed to create orders and line items for this but the answer is no.

All you need to create in your Google DFP account is an Ad Unit and enable it for Adsense. You then generate your Ad Code and embed it in the header and body of the site. The article below taken from Google Support Documents explains how and here is the direct url

“To enable an existing or new ad unit for AdSense:

Go to the Inventory tab, then select Ad units in the left-hand panel.
Click the ad unit you want to edit or click New ad unit to create a new one.
If creating a new ad unit, click override for “AdSense inventory settings.”


If editing an existing ad unit, click edit for “AdSense inventory settings.”
Select the Maximize revenue of unsold and remnant inventory with AdSense checkbox.
Click Save.

When will AdSense ads appear on your site?
Now that AdSense is enabled for the ad unit, the system uses AdSense to:

For this to happen, you don’t have to do anything other than enabling AdSense at the ad unit level. Once you’ve done this, if no eligible ads are targeted to the ad unit, an AdSense ad conforming to the format you specified is called and served. In this way, you’re not losing the opportunity to generate revenue.

By enabling AdSense at the ad unit level, you also get the chance to optimize your remnant revenue thanks to the dynamic competition between AdSense and remnant impressions.

You need to make sure that the line items you want to compete with AdSense have the right priority type: Network, Bulk, Price priority or House.
Only non-guaranteed line items are eligible for an impression-by-impression competition with AdSense, based on price.

If you want to do this for an existing line item:

Go to the Orders tab in your DFP Small Business account.
Select the relevant order and line item.
Pause the line item. This allows you to edit the line item type.
Click the Settings tab within the line item.
Click the Type drop down and select the most suitable of Network, Bulk, Price priority or House.

Enter the price that you charge for that line item in the Rate field, keeping in mind that it’s the value taken into account by the system when running the competition with Google AdSense.”

If you want your Adsense Account set up for you Please contact The First Step in Cape Town, South Africa, for a quotation.

Posting to Social Networks via your RSS Feed

Twitter Feed and Facebook ImagesThere are a number of tools out there that integrate your Social Networks such as Facebook Pages, Twitter Feeds, LinkedIn profiles to name the most popular, with your WordPress run website or blog. Testing these different tools can have many different results. Starting with Twitter Feed which I found worked wonderfully for this website, I set it up on some client’s sites and began to encounter strange glitches, such as the way Facebook picked up images from posts, or at least, could not select the correct image, so for now I have uncovered a possible solution which I will test out and post on further once results have been identified. The test is to specify the Featured image in the WordPress post so that Facebook does not confuse this with any other random images it may find on a page.

Visit again soon to find out more on other Social Networking plugins that can integrate WordPress and your Social Networks in one foul swoop!