How to Create a Subdomain for Blogger on Namecheap

If you've domain on Namecheap you can easily set up a subdomain for it. Namecheap allows you to set up to 150 or 100 subdomains for your top-level domain (TLD) depending on which DNS plan you're using. Setting up a subdomain doesn't cost you anything extra since you already own the domain.

You can use the created sub-domain to set up a custom domain for your Blogger blog. Doing this however won't have any effect on the blog or site that's already using your top-level domain.

The possibilities are numerous however on Namecheap the entire subdomain shouldn't exceed 60 characters in length.



Example:
So for instance the top-level domain for this blog is journeybytes.com.

I've set it up as a custom domain to use on my Blogger blog instead of using my original BlogSpot subdomain: journeybytes.blogspot.com.

Yours could be different depending on which TLD you're using (.net .org .xyz, .us etc.) e.g: yourdomain.com, yourdomain.net, yourdomain.org, yourdomain.us etc.

I can therefore set up a subdomains such as: blog.journeybytes.com, reviews.journeybytes.com etc.and use it on a different blog on Blogger or on a completely different platform.

Sounds good, let's see how to set up one for a blog running on Blogger.


Step 1: Creating the Subdomain on Namecheap

Move Blogger to Subdomain

1. Log into your Namecheap Account Panel then select Domain List from the menu.

2. Click the Manage button beside the domain you wish to set up a subdomain for then switch to the Advanced DNS tab.

We now need to set up a new CNAME Record for the subdomain. Existing records should be left as they're.

3. Click on the ADD NEW RECORD button and from the list select CNAME Record.
new cname record
Add New CNAME Record

4. In the Host entry enter the name of your subdomain (e.g. blog), in the Target enter ghs.google.com. then leave the TTL at Automatic. When you're done, click on the tick icon to save the changes.
host and target
Add Host and Target


Step 2: Set up the Sub-domain as a Custom Domain on Blogger

1. Log in to your Blogger and head over to your blog's Basic Settings.

2. Under the Publishing section click the +Set up a third-party URL for your blog link that's directly below your BlogSpot address.

3. In the domain box, enter the entire name of the subdomain that we've just created (e.g. blog.journeybytes.com) then click the Save button.
enter subdomain
Enter Subdomain

You should get a notification that the changes have been applied successfully. The changes take place almost immediately though Namecheap says it maya take upto 30 minutes.

Click the view blog link to see your blog on the new subdomain. Your BlogSpot subdomain (http://yourdomain.blogspot.com) should now redirect to the new subdomain (http://yoursubdomain.domain.com).



NOTE

  • You don't have to set-up redirects for posts that you had published when on the old domain. Blogger will handle that for your automatically. So if a post was published at yourdomain.blogspot.com/2012/post-url-here.html it will be automatically redirected to yoursubdomain.domain.com/2012/post-url-here.html
  • Remember to turn on HTTPs Availability and Redirect if you were using them on your original domain and wish to continue using them on the sub-domain.
  • If you had added the old domain as a property in Google's Search Console, do remember to do a Change of Address to point it to the new subdomain. You'll however have to add the subdomain first as a new property before submitting the Change of Address. Site verification won't be necessary if the top-level domain has already been added. 
  • In search console remember to add both http &https versions then select the preferred version.

Blogger Email Comment Notification Fix

comment notification fix

For the past few months, Blogger users have not been receiving comment email notifications for comments left on their blogs. In the course of this period, the Blogger team acknowledged the issue and mentioned they'll be working on a fix.

I experienced this too and in my efforts to curtail spam comments from going unnoticed as well as respond to actual readers, I devised some few workarounds that have been working for me during this period. Two months later it does seem that long overdue fix is finally here with us now.



Get Back Your Comment Notifications

1. Open Blogger and go to Email settings

2. Below the Comment Notification Email box, click the Remove link to remove any existing  email address then click the Save Settings button. This must be done, even if the email address there is what you still intend to use for this purpose.
remove email
Remove Old Email

3. Click the Add link and enter the email address to receive the comment notifications. You can add up to 10 different email addresses to receive the notifications. To do this, separate them with commas. Click the Save Settings button to finish.
add email
Add Email

4. Now head over to the inbox of the email address that you just inputted in the previous step. You should find there an email from noreply+subscribe@blogger.com inviting you to receive email notifications for comments left in your blog.

Accept the invitation by clicking the Subscribe link at the bottom of the email. You're expected to accept this invitation within two weeks

5. Clicking that link will take you to Blogger where you'll get the message that you'll now be receiving new blog comment emails for your blog.
message
Confirmation Message


Comment Moderation Notifications

The comment moderation email notifications had also been broken by this issue. To get it back again into working condition we'll need to repeat the above steps for it too.

1. Go to Blogger's Posts, Comments and Sharing settings.

2. In Comment Moderation, start by removing any existing email address that you were using previously then click the Save Settings button.

3. Set your moderation type to either Sometimes or Always then below enter the email address to receive the notifications. Click the Save Settings button.
moderation email
Enter Moderation Email

4. Go to your email inbox and accept the invitation from noreply+subscribe@blogger.com by clicking the subscribe link in the email's body.

5. That should take you to Blogger where you'll get the message that you'll be receiving new blog comment moderation emails for that blog.
message
Confirmation Message


Some Things to Note

Going by the support thread, it does seem some few people are still having problems resolving this issue even after doing the above steps. Now it’s hard to pinpoint why that's so, but it's likely that they've missed something since its working for the rest of us. If you've found yourself in that situation, here are some things you could try:

1. Make sure to remove the old email addresses, save then reload the page before entering the email address. This seems to be by far the most common solution.

2. Try using a Gmail email address if you're using a different email host. However, this is not to mean that other email hosts will not work.

3. Check your SPAM folders. Your email host may be flagging the comment notifications as spam.

4. If you're not receiving the invitation, some have suggested that entering the email address from the Choose from contact link to be what worked for them rather than entering the address manually.
contacts
Choose from contacts

Note: you'll have to add your email address (or the one you intend to use) into Google Contacts before doing this.



5. The way the solution is expressed in the thread some have interpreted it to mean that enabling comment moderation as being necessary to enable comment notifications. This is NOT so. You can enable comment notifications without having to enable comment moderation.

6. It would seem the comment notifications are now "noreply" for everybody. You therefore cannot reply directly to the commenter's email as before.

Move and Redirect Posts on Blogger to an External Domain

redirect blogger
By now I think you're aware of the fact that Blogger doesn't support redirection to external sites, even if said sites are running on Blogger. Instead, Blogger only supports redirection within the domain, be it a hosted domain (BlogSpot) or a custom domain. The redirects can be set by going to Settings > Search Preferences > Custom Redirects and can be marked as either permanent (301-redirect) or as temporary otherwise known as a soft-redirect (302-redirect).

Blogger doesn't support redirection to external websites for good reasons. The major concern prompting that decision is that such redirection is merely going to be abused by spammers and attackers despite it being a useful resource for webmasters with legitimate needs for it.



That's the situation I got myself in two months ago after I started another blog. A couple of posts I had published on this blog looked rather misplaced with rest of the content I have here and so I thought it would be a good idea to move them to that blog where they would be more relevant to the audience I was targeting.

Now here's the problem: a couple of these posts were doing well traffic wise since they were ranking rather high in Google search  results. As per Google recommendations, a 301-redirection is the most ideal solution for these posts as it would retain the ranking not to mention take care of any internal or external links emanating from other websites.

But that was clearly unfeasible and isntead the only options that I had to consider as an alternative were as follows:
  • Delete the posts so that they return a 404 then use the Remove URL tool in  Search Console to remove them from Google Search Results. After a while I would then republish the content on my new blog and start the arduous task of getting them to rank as before.
  • Redirect the posts to a page containing links to their new location then hope against all odds that the readers are going to follow the links.
  • Use the meta-refresh tag to redirect.


Enter the Meta-Refresh Tag

Of the above, the meta-refresh redirect presents the closest thing to a 301-redirect. However it does come with some downsides:
  • It comes at the cost of user experience: looks spammy as the visitor will for a couple seconds view the site before being redirected.
  • Some old browsers may not work well with meta-refresh resulting with users not being able to use the back button or creating infinite loops.
  • Search engines may flag your site as spammy if you use a lot of meta-refreshes.
  • Guides online on the subject of implementing the meta-refresh on Blogger indicate that it has to be implemented in the template itself. This may not be practical when redirecting a lot of posts (will inflate the size of template). A site-wide redirection seems better suited for its use.
  • The redirecting page (original URL) has to be kept alive for the purpose of redirection. If the original URL was already indexed and ranking in the search results, then it's likely that both the destination and original URL may show up in the search results. This brings us to the next issue:
  • There is the risk of being flagged for duplicate content as the content in the two domains is similar. Google may fill in the blanks and assume you're trying to manipulate their ranking resulting in either the site dropping in rank or even being removed entirely from their index.

The bright side in all these is that fortunately Google does process the meta-refresh tag as a redirect. They however don't recommend it because of its poor user experience and processing time. Nevertheless, it does work.


Resolving Issues with the Meta-Refresh Tag

The duplicate content issue presents the biggest challenge here and Google cautions against it. To avoid it one may use the no-index tag on the original URL (tells Googlebots not to index that page) but that would inadvertently make the redirection useless for the purpose of retaining the ranking.

Other than using the no-index tag Google suggests using Canonicalization if the duplicate content is unavoidable or is there for legitimate reasons. Canonicalization tells Google which of the pages that have duplicate content is the authoritative version, i.e. the canonical version.

If not told explicitly, Googlebot decides and indexes the URL it deems to be the most ideal according to a number of factors such as the type of traffic and makes that URL the canonical version (e.g. mobile and desktop versions).

That's explains why in the case of Blogger you may sometimes notice that Google has chosen to index either the mobile (www.example/2018/07/post-url.html?m=1) or desktop (www.example/2018/07/post-url.html?m=0) URL of a post instead of the one published/in your sitemap (www.example/2018/07/post-url.html).

If a canonical URL is explicitly specified (e.g using the rel=canonical tag), Google may index it and exclude the other duplicate URLs from the results. We can therefore use canonicalization to indicate to Google that the new URL to which we're redirecting to using the meta-refresh is the canonical one. Eventually the original URL will be dropped from the index and the new URL will take its rank.

NOTE:
  • For canonicalization to work, both URLs should retain similar or almost similar content. If you must edit the content in the new URL, let it be minimal but let it retain the original subject matter.


Meta-Refresh + Rel Canonical Tags

Our redirect will therefore have to use these two tags in tandem. The rel=canonical tag will specify that the URL being redirected by the meta-refresh tag is the canonical one.

To do that easily, we'll use Insider Zone's cross-browser client side URL redirection generator tool. I came across this tool after I had long given up on this whole redirection plan courtesy of this answer that I stumbled on StackOverflow. I suggest you check the answers in that question for a more varied take on the meta-refresh redirect.

This tool generates a redirection code with the above tags and also has safeguards to ensure the code works properly on old browsers (retain uses of back button) and on browsers that don't support or have JavaScript disabled.

The code ideally should be put immediately after the head tag, that is on the template, but that would defeat the purpose since we need to redirect individual posts and not the homepage. Fortunately as I found out, the code does work with posts too.


Redirect Posts to an External Domain

Step 1: Redirection

1. Go to the insider zone site here, enter the URL you're redirecting to in the external domain and hit the generate code button.
generate code
Generate Redirect Code

2. Copy the code as it is then open the Blogger post you're redirecting (the original post) in HTML view. The code will look as follows:
<!-- Place this snippet right after opening the head tag to make it work properly -->

<!-- This code is licensed under GNU GPL v3 -->
<!-- You are allowed to freely copy, distribute and use this code, but removing author credit is strictly prohibited -->
<!-- Generated by http://insider.zone/tools/client-side-url-redirect-generator/ -->

<!-- REDIRECTING STARTS -->
<link rel="canonical" href="https://www.kenyanfix.com/2018/07/upgrade-airtel-kenya-sim-card-to-4g.html"/>
<noscript>
    <meta http-equiv="refresh" content="0;URL=https://www.kenyanfix.com/2018/07/upgrade-airtel-kenya-sim-card-to-4g.html">
</noscript>
<!--[if lt IE 9]><script type="text/javascript">var IE_fix=true;</script><![endif]-->
<script type="text/javascript">
    var url = "https://www.kenyanfix.com/2018/07/upgrade-airtel-kenya-sim-card-to-4g.html";
    if(typeof IE_fix != "undefined") // IE8 and lower fix to pass the http referer
    {
        document.write("redirecting..."); // Don't remove this line or appendChild() will fail because it is called before document.onload to make the redirect as fast as possible. Nobody will see this text, it is only a tech fix.
        var referLink = document.createElement("a");
        referLink.href = url;
        document.body.appendChild(referLink);
        referLink.click();
    }
    else { window.location.replace(url); } // All other browsers
</script>
<!-- Credit goes to http://insider.zone/ -->
<!-- REDIRECTING ENDS -->
3. Paste that code at the very top of the post and save the post.



Step 2: Indexing

Doing the above is enough, but it may take Google a while before it crawls your site to notice the redirection and the new canonical URL. Posts receiving good traffic do seem though to get updated pretty quick to the new URL.

Also since this is Blogger, Google may have indexed more than one version of your URL (the mobile and desktop variants) and therefore it may have to be signalled that they too redirect to the new canonical URL, though with time it will notice on its own and update them accordingly. (I had ignored this initially only to later wonder why the redirected post was still showing in the results).

To "fast-track" this process we can request Google to reindex the page using the Fetch as Google in Search Console. This step therefore assumes:

  • You use Search Console and have added properties for both sites. The site with original URL however is what we require, but it's good to have all you sites there if you want to monitor their search presence.
  • That the original URL is already indexed by Google.

1. Start by finding out which URL variant of your post Google has selected as the canonical one.
It's usually the published one but in some cases Google may have also indexed the mobile (?m=1) or desktop (?m=0) versions. To do this, use either of these methods:

  • Go to the new search console and inspect the post URL by searching for it in the bar at the top of the page. Google will retun it's index status and some other data. Repeat this for the mobile and desktop URL variants and note if they're indexed as well.
  • Go to Google and search some keywords that will bring up the post then observe the URL. You can also do a site only search as follows: site: www.yoursiteurl.com "post keywords"
2. In search console open the redirecting site's property then go to Crawl > Fetch as Google
fetch as google
Fetch as Google

3. Enter the URL of the page you're redirecting and click the FETCH AND RENDER button.
fetch and render
Fetch and Render

4. The fetch and render should return the status as Redirected.
page redirected
Page Redirected

NOTE:
  • If you use FETCH, the redirection won't be detected and will return a Complete status instead of Redirected. This is because our redirect is not a HTTP one (301/302). For Googlebot to see the meta-refresh redirect it has to parse the page and that's why we're using the FETCH AND RENDER option instead.
fetch only
Fetch Only Status

4. To confirm that the page has redirected to the intended destination, click to open the result. You should find the external URL that you used to generate the redirect code as the destination. Now just click the Request indexing button.
redirect result
Redirect Result

5. Doing that will launch a window for you to select the method of re-crawling. You get two options here: Googlebot can either recrawl the submitted URL only or along with the direct links in that post's URL. You'll have to complete the Recaptcha challenge for every request before you can do the submission.
submit url
Submit URL for Indexing

For the purpose of redirecting, the crawling the URL only option will suffice. However you may consider using the second option if for instance the post has updated internal links for posts that you've since redirected.
NOTE:
  • Google mentions that there's quota on how many individual URLs you can submit for indexing per day though they doesn't explicitly mention how many. However, on the Fetch as Google help page  the daily quota for the number of fetches that can be done is listed as 10.
  • I take it that means also the quota for individual URL submissions is also ten, though I can't confirm this and whether this also applies to the crawl direct links option. What I've noticed though is that the Recaptcha challenge appears on the Fetch page when I reached reach the 9th request. I presume that's a "warning".
6. Now repeat the above for the mobile or desktop URL variants if you established that one of them has been indexed too.



C. Monitoring

Now all that's left is to wait. It will take Google from a few days to a week to update their index as it was in my case (posts with good traffic seem to update much quicker). Meanwhile, you can monitor the progress by inspecting the original URL using the new search console as follows:

1. Go to the New Search Console and select the property with the redirected URL.

2. In the search box at the top, enter the redirected URL and press the Enter key. If Google has not yet updated the index, you'll get the status that the URL is still in Google. In that case, just wait a few more days.
index status
Index Status of Original URL

If the index has been updated you'll get the status that the URL is no longer in Google, exactly what we want.
index status updated
Index Updated

Just below this you'll find the Index Coverage summary. You'll notice the reason given for this status is that the Submitted URL (our original URL still in the sitemap) is NOT selected as the Canonical URL.
index summary
Index Coverage Summary
Our destination URL which we declared as the canonical version will instead be selected as the canonical one by Google.
canonical url
Destination URL now Canonical


D. Ranking

The URL won’t get the ranking of the old URL, at least not immediately though again I can't confirm on this behaviour. I also noticed the old URL in some cases still showed up in search results along with the new URL for a couple days before disappearing completely.

During this "transition period" the old URL ranked higher than the new URL. It's not until the old URL disappeared completely that the new URL started ranking higher. The whole process took about a 1-2 weeks depending on the post in question.

If you notice the old URL is still showing up in the search results long after search console has indicated it has selected your URL as the canonical one, then it's likely you had multiple URLs in the index. Open that result and verify the URL. It could be the mobile or desktop variant in which case you'll have to repeat the re-indexing for it. I learnt this the hard way.



E. Schedule

Remember one of the downsides of using the meta-refresh is that the site comes across as spammy. This is inevitable but I suppose its impact can be reduced if things are done in a systematic way. My approach up until now has been to take the whole process slow.

Instead of doing the redirects in one go for all the posts I intend to move, I’ve been redirecting on average one post per week. Quite low I know, but that’s only because I’m redirecting in total about 30 pages.

(Update: ramped it up to about three posts per week then 3 per day; didn't seem to make a huge difference)

This way at any given period I probably had only two redirects "working" since by this time the old URLs from previous redirects had completely been dropped from the index and thus no one was getting to them save for those coming from external or internal links, which brings me to:


F. Linking

Make sure to consolidate any internal or external links you had pointing to the old URL to now point to the new URL. This is very key for two reasons:
  • it will help Google discover the new URL relatively quicker
  • it passes the link juice helping the new URL rank better

To figure out the internal and external links to a given URL, go to Search Console > Search Traffic then choose Internal Links or Links to Your Site for external links. The latter has no URL search function but you can use the Ctrl+F option in your browser to manually search the URL.
links
Consolidate Links

Updating the internal links in your blog should be easy, it's the external links originating form external sites that pose the biggest challenge here. I suppose the only thing you can do here is contact the site owners and tell them to update to the new links.

Cheers and Good luck!

How to OCR with Any Version of MS Office (2007-2016)

ms word ocr

The other day I got some work from a high school teacher to type some past examinations that she was compiling into a book. The test papers were quite many, a file worth to be exact. Knowing this would be a challenge in terms of the time and effort I'll have to set aside, I decided to look for a much quicker solution. The first thing that came to my mind was OCR (Optical Character Recognition).

OCR is basically the identification of text from image files. In layman's terms, think of it as converting images to text. OCR can thus save you time and money that you'd otherwise spend typing or outsourcing to professionals. In my case, I was able to reduce the workload of this particular job by about 70-80% and it would be higher were it not for the few wrongly identified characters and the touching up of some diagrams.



For my OCR needs I went with MS Office. I had considered other options before settling for it, such as the feature rich PDF-Xchange Editor that bundles OCR with its PDF viewer. Ultimately however, they all proved to be less capable compared to the OCR engine in MS Office which was more accurate and quick. I suppose that could be attributed to them using the free Tesseract OCR engine which while powerful in its own right, tends to be outperformed by commercial alternatives.


Getting Started

MS Office does OCR in two ways:
  • Using OneNote
  • Using Microsoft Office Document Imaging (MODI)

Any version of OneNote (2007-2016) will do for this purpose. For MODI however, things are a little bit different as it was discontinued. MS Office 2007 was the last version to feature it. However you don't necessarily need to have MS Office 2007 to use it as it can be installed separately and be used with newer versions of MS Office.


What You'll Need

  • First things first, you'll need MS Office installed. Any version will do from Office 2007, 2010, 2013 and 2016.
  • SharePoint Designer 2007 to install MODI. SharePoint Designer 2007 is provided as a free download by Microsoft. Get it from Microsoft's download centre here.
  • MS Office 2007 to install MODI. If you've a licensed copy of MS Office 2007 already, you can use it instead of having to download SharePoint Designer 2007.
  • Image to OCR
  • A scanner if you want to OCR during the scanning process.

TIP: I've since made a video tutorial for the instructions below that you can watch here.

A. OCR with OneNote

1. Launch OneNote and start by creating a New Note.

2. In the ribbon, go to the Insert tab and insert the image to OCR.
image to ocr
Insert Image to OCR

3. Inside the note, right-click the inserted image and select Copy Text from Picture.
copy ocr text
Copy Text from Image

4. Open MS Word or a text editor and paste the text that has been recognized.

5. You can alternatively search the text within OneNote instead of copy-pasting it elsewhere. To do that, right-click the inserted image and select Make Text in Image Searchable then select the language the text is in.
search ocr text
Make Text in Image Searchable

You can then use Ctrl+F to search for text inside the image. If it finds a match, it will be highlighted.

NOTE: If you need a different language, check the bottom of this post on how to install additional language packs.


B. OCR with Microsoft Office Document Imaging (MODI)

Installing MODI

1. Run your SharePoint Designer 2007 or MS Office 2007 set up.

2. Select the Customize installation option.

3. Set all the available options to Not Available then expand Office Tools and set Microsoft Office Document Imaging to Run all from my Computer.
install modi
Install MODI

4. Now leave it to install.


OCR with MODI

MODI OCRs in two ways:
  • OCRs Image Files
  • Connects with your scanner and automatically OCRs after the scanning is complete


(i) OCR an Image

MODI only OCRs images that are in TIFF (*.tif, *.tiff) format. If you picture is in another format (e.g. JPEG, PNG, GIF) you can use an one of the many free image editors available online (XnView, IrfanView etc.) to convert them to TIFF.

You can even use Paint to do the conversion. Just open the image with Paint, choose to Save as then select Other Formats. In the save dialog, select the TIFF type and save the image.

Once you have your images in this format, do the follwoing:

1. Go to the start menu programs and inside Microsoft Office Tools open Microsoft Office Document Imaging.

2. Inside MODI, click the Open icon and select your TIFF image from the dialog.
open tiff
Open Image

3. Once the image is loaded inside MODI, click the Recognize Text Using OCR button.
ocr image
Start OCR

4. Give it time to do the OCR. Once it's done, click the Send Text to Word button.
send text to word
Send Text to Word

5. A dialog will pop up with options to send the text. If the TIFF had multiple pages, make sure to select the All Pages option. If the image had pictures/diagrams inside it that you'd wish to export too, check the option to Maintain pictures in output. Click the OK button.
send text to wod
Send Text to Word

6. The recognized text and any pictures it may have found will be exported to a HTML file opened by whichever version of Word you have installed.


(ii) OCR directly from the Scanner

1. Connect your scanner and load the item to scan.

2. Go to the start menu programs and inside Microsoft Office Tools open Microsoft Office Document Scanning.

3. In the scanning window, click the Scanner button and select your scanner.
scanner
Select Scanner

4. Depending on the nature of the item you're scanning, you can select a suitable color preset for it : Color, Grayscale or Black and White.

5. Click the Scanning button. Your item will be scanned and after its done OCR will be done automatically.

6. The recognized text will then be opened in MODI. Finish by click the Send Text to Word button to transfer the recognized text and any pictures to Word.

NOTE:
In the default save folder, you'll find the HTML file containing the OCR information. Check inside the corresponding HTML folder for any pictures such as diagrams that MODI will have exported.




Language Support for MODI and OneNote

The OCR feature in OneNote and MODI comes embedded with support for only three languages: English, French and Spanish. By default it will use the language that your installed MS Office is using. To change the language MODI uses for the OCR do the following:

  • Open Microsoft Office Document Imaging
  • Go to Tools > Options...
  • Select OCR and then choose OCR Language
modi language
Select OCR Language

For other languages, particularly those using a completely different alphabet than what is used in English such as Greek, Korean, Chinese, Japanese, Arabic, Cyrillic (Slavic languages - Russian, Bulgarian, Serbian, Ukrainian) etc. you'll have to install the corresponding Language Pack in order for it to work with OneNote or MODI.

OneNote
To install a language pack for OneNote to OCR with:
  • Open OneNote and go to: Options > Language
  • Add the language from the drop down menu, then when it appears inside the languages box, click the Not Installed link below the Proofing column.
add language
Add Language
That will take you to the Microsoft Office support site where you can download the free language packs. Make sure to download the correct language pack for the version of MS Office you're using, i.e. whether 32 or 64-bit of MS Office 2010, 2013 or 2016.
language packs
Download Language Pack


MODI
For MODI, the process is a little bit complicated but there's a really good guide on how to go about installing the language packs here.

If all this sounds like a lot of work, you can opt to use Tesseract which has a wide support for different languages. Tesseract however uses command line but you can find a couple of GUIs (versions with a user interface) for it online such as this one.

Delete a WhatsApp Chat But Keep Its Media

delete whatsapp conversation

With WhatsApp usage comes the inevitable accumulation of chats and media from individual or group chats. As a result, we are often at times forced to delete these media as it tends to take up a lot of space in our phones. Fortunately, that's pretty straightforward as WhatsApp does provide means to either delete all the media or just specific media (photos, videos, gifs etc.) for a chat.

There is however a legitimate need for the inverse of these, namely: to delete the conversations of a group or individual chat BUT keep its media. This can be done too and is actually achieved through the same means. Let’s take a look at all these means for WhatsApp on Android (some of the methods are also valid for iPhone users too).



Clear a WhatsApp Chat without Deleting Media

The methods outlined below can be divided into two categories depending on your needs, i.e.Delete the conversation and:
  • keep the media but clear it from the chat
  • keep the media but leave it in the chat

In the first option, the conversation is cleared along with the media, but the media is left in your phone's storage. In the latter, the conversation is cleared but the media is retained in both the chats and the phone storage.


A. By Clearing or Deleting a Chat

This will keep the media but clear it from the chat. The difference between clearing and deleting a chat is that both deletes the conversation and media but clearing leaves you in the chat whereas deleting a chat removes the chat.

Clearing a Chat

1. Open the chat (individual or group) and tap on the three dots at the top right to show the menu.

2. Tap on More then Clear chat.
clear chat
Clear Chat

3. You'll get a confirmation prompt to clear the chat. Below it UNCHECK the option Delete media from my phone then tap the CLEAR button.
uncheck delete media
Uncheck Delete Media


Deleting a Chat

Before you can delete a group chat, you'll have to exit it first. After you've exited follows the steps as detailed below. For individual chats no need to do anything, just proceed as explained below.

1. Long press on the individual or group chat that you wish to delete then tap on the bin icon at the top of the page.
delete chat
Delete Chat

2. You'll get a confirmation prompt to delete the chat. Below it uncheck the option Delete media from my phone then tap the CLEAR button.
delete media from phone
Uncheck option to delete media

After using either of these two methods, you can find you media inside the WhatsApp media folders in your phone storage in the location: Storage > WhatsApp > Media > WhatsApp *Media Type*. The media should also be available in your Gallery app (if you haven't hidden the media folders).


B. Using Data and Storage Settings

1. Go to WhatsApp's Settings > Data and storage > Storage usage
data and storage usage settings
Data and Storage Usage settings

2. You'll find a list of all your chats and the amount of space they're currently using in your phone. Select the individual or group chat whose media you wish to delete.
open chat
Select Chat to Manage

3. That will open a page detailing the space that particular chat is taking up in text messages (conversations) and all the media categories: Photos, GIFs, Videos, Audio Messages and Documents. Tap on the MANAGE MESSAGES button at the bottom of the page.
manage messages
Manage Messages

4. Uncheck all the media but leave the Text Messages category CHECKED. When you're done, tap on the CLEAR ALL MESSAGES button.
clear messages
Clear Messages

5. On the confirmation prompt, tap on the CLEAR ALL MESSAGES button to start the clearing.



Now if you go back and open that chat, you should find all the conversations have been cleared but the media will be there as you had left it.

Delete Specific Media for Specific WhatsApp Chats

whatsapp specific media

Previously I looked on how we can delete all the media for a WhatsApp individual chat or group while on Android. While I was writing that particular article it occurred to me that someone may actually need to delete only certain media types while keeping the rest.

WhatsApp categorises media in the following groups: Images, Videos, Animated GIFs, Audio and Documents. So for instance you may want to delete all the videos in a chat but keep the images, animated GIFs and audio messages. Or perhaps you may need to delete everything save for documents. These and other combinations are all possible.



What's even better, unlike the clear and delete chat options, deleting media this way makes it possible for you to keep your chat messages and group conversations while getting rid of any media type. Let's take a look on how to do this on WhatsApp for Android (I've since made a video tutorial also which you can find here)


STEPS

1. Open WhatsApp and from its menu select Settings.
whatsApp settings
WhatsApp Settings

2. In WhatsApp's Settings select the Data and storage usage option.
data and storage use
Data and Storage Use

3. Inside the Data and storage usage settings open the Storage usage option.
storage use
Storage Use

4. Doing that will open a page with a list all the individual chats and groups you've ever participated in. Beside each chat or group, the amount of space it's using on your phone is shown. Select the chat or group whose media you wish to delete.
chat group list
Select Chat or Group

5. WhatsApp will now display the space that chat or group is taking up in the following media categories: Photos, GIFs, Videos, Audio Messages and Document. In addition to this, at the top it displays the total amount of text messages as well as the number of contacts and locations shared.

At the bottom of this page tap on the MANAGE MESSAGES button.
manage messages
Manage Messages


6. Now just check all the media or just the kind you'd wish to delete. If you don't want to get rid of the conversations too, make sure you uncheck the Text Messages category at the top.

Once you're done selecting, tap on the CLEAR MESSAGES button that's at the bottom of the page.
clear messages
Clear Messages

NOTE:
  • Captions on images don't count as text messages. Deleting their images will therefore get rid of them as well.
whatsapp caption
Example of a Caption

7. You'll now get a prompt to confirm the clearing. Tap on the CLEAR MESSAGES option to start the deletion.
clear all messages
Confirm Deletion


Excluding Some Media from the Deletion

If you want to keep some of the media while deleting the rest (for instance keeping some photos when deleting all the images), do the following:

1. Open the chat or group that you wish to delete its media.
2. Tap the three dots at the top and select Media if it's an indvidual chat or Group media if it's a group chat.
group media
Group Media

3. Long press on the media to keep to select it then go on selecting any other media that you'd also want to keep. When you're done selecting, at the top of the page tap on the Star button to star the selected media.
star media
Star Media to Keep
 4. Now just go through steps as explained above however when you arrive at the deletion stage, select the CLEAR ALL EXCEPT STARRED button instead of the CLEAR MESSAGES one.
exlcude starred
Clear Except Starred


Confirming the Deletion

So that's it. By doing this you'll probably have saved your phone some precious amount of space and perhaps even taken care of the occasional lagging you were noticing on WhatsApp. To confirm the deletion you can open that particular chat or group inside WhatsApp and you should find all the media deleted. The messages will still be there (i.e. if you chose not to delete them) but in between them there won't be any of the media that you deleted.

You can also confirm the deletion by looking inside your gallery app or by checking the individual WhatsApp Media folders inside your storage using a File Manager (Storage > Media > WhatsApp [Media Type]).



Is the Deletion Permanent?

Doing this does NOT delete the media permanently. It only deletes the media for you (and in your phone) and as such the media will still be available to whoever it is you were chatting with or all others members if it's a group chat. You won't however be able to redownload the deleted media. The chats in which they appeared will display as if they weren't shared in the first place.