SEOClerks

What books on SEO have you read?



Write the reason you're deleting this FAQ

What books on SEO have you read?

Looking through Amazon, I noticed that there are more than a few books on SEO. Knowing how dynamic this subject is, I am skeptical that any book can accurately capture all relevant information on this matter, and distill it all into a single volume. In fact, the most popular book in Amazon's list has little more than 300++ reviews. I am guessing that there are hundreds of thousands involved with online marketing, and using SEO in particular. So given this assumption, the 300++ reviews would suggest that online marketers and SEO practitioners are not fond of reading books on the subject. I would guess that the professionals would prefer to get their information from online sources.

So I would like to verify this, and ask the SEO experts in this forum, what books on SEO have you read, or currently reading? Or are you learning from somewhere else?

Comments

Please login or sign up to leave a comment

Join
itommy
Some ebooks that I read
SEO 2017: Learn search engine optimization with smart internet marketing strategies
SEO Marketing: Internet Marketing Secrets
SEO: The definitive guide to keyword research

Hope it helps!



Are you sure you want to delete this post?

Tronia
Ooo, where did you find them itommy? Just from Google? Also, are they free or do you have to purchase them? I'd love to read a few of them if they're free... but if it's paid then I'll stick to the good old internet learning method What books on SEO have you read?



Are you sure you want to delete this post?

overcast
I have only read most of the MOZ Guides. As SEO is competitive world. Writing book and then publishing may outdate a lot of content. You can't really write a good book on white hat and on page SEO becuase that would be filled in single book. So it depends on those factors. This is the reason I have not yet found any good SEO book.



Are you sure you want to delete this post?

hermessantos
I also agree with you. Books can make content obsolete, so constant updates would be needed to keep the subject fresh.

I also accompany the MOZ guide. The Google question and answer groups and some youtube video are my main sources of learning.



Are you sure you want to delete this post?

overcast
Which popular SEO authority is on youtube posting actively? I don't know many youtube authority on youtube. So do share if you know any good youtube creators who are into SEO information. I mostly watch the videos on the adwords, analytics and facebook ads. I guess those are easy to find these days as there is a huge demand for those.



Are you sure you want to delete this post?

Neiltarquin
The only thing that I've read about SEO is it's definition and branches from Wikipedia. It is a broad topic to tackle so I didn't give much attention to it.



Are you sure you want to delete this post?

Tronia
I have honestly never read a single SEO book. I don't even know how good they are. I just don't have the need to when all I need to do is type whatever I want to learn into Google and learn from there. I believe articles or video tutorials/informational videos are the best source of information for any SEO methods, tips, and tricks.



Are you sure you want to delete this post?

hermessantos
I also have the same opinion. And I also think that SEO books can become obsolete quickly as this is a constantly updated topic.

I think the internet is the best way to stay informed about SEO.



Are you sure you want to delete this post?

Scholarkin
Same applies to me.
Google is my friend
I just type in what I need and I'm through.
I haven't read any book on SEO but I do get some articles, videos and other SEO learning materials online.



Are you sure you want to delete this post?

hermessantos
I've particularly never read any book on SEO. Everything I know about SEO I've learned with youtube videos, some online courses and high authority blog articles.

I think buying a book on SEO is tricky, as a lot can change in a few months, so it would be impractical for me. Anyway, if anyone has read any good books on this subject, it would be interesting to share the title with us.



Are you sure you want to delete this post?

Laibrown
I have read a couple of seo books in order to increase my understanding. And I must say some of them have enhance my knowledge in this regards. Even I still go back to read some of these books whenever I am confused.
these are some of the books I found fascinating and helpful.

the art of SEO: mastering search engine optimization 3rd edition.
Search engine optimization : all-in-one for dummies 3rd edition.



Are you sure you want to delete this post?

Pixie06
I have not really read any book about SEO. Over the last few years I have made many research about SEO on the internet itself. I have read many articles and watched video tutorials and can say that I have learnt a great deal. I still look for information pertaining to SEO on the internet. There are also a few eBooks about SEO which one can read for free on Google Books.



Are you sure you want to delete this post?

jaymish2
I have also not read any books. However I think that the best way to learn SEO is practically. Because most of us can't afford to take classes on SEO because it can be very expensive, I personally learn from Youtube, because I can see how the presenters are doing it. I don't understand how reading a book on SEO would help you to be honest. Unless its an area you know well and can learn from the new ideas the authors are introducing. I mainly watch Neil Patel videos to learn SEO and stay updated on the new SEO trends.



Are you sure you want to delete this post?

Corzhens
I actually haven’t read a book on SEO not because I am not a book reader but I feel like I am getting enough learning from this site. To be honest, SEO was alien to me and I avoided such discussions until I read in the newspaper about SEO that is a new industry in the internet. That got me interested that despite the headache given me by the first SEO discussions that I had read, it made me realize the importance of the subject so I am continuing my learning by roaming around this site for SEO discussions.



Are you sure you want to delete this post?

Order Now
Process Time: 0.29076313972473

Possible Duplicate queries found!
MatchCountSQLScript
SELECT * FROM `questions` as q JOIN categories_faq as c ON q.catid=c.CATID WHERE (q.status=1 OR (q.status=2 AND userid='') ) AND q.quesid='23379'1SELECT q.*, c.seo as CatSEO, c.name as CatName, c.parentid FROM `questions` as q JOIN categories_faq as c ON q.catid=c.CATID WHERE (q.status=1 OR (q.status=2 AND userid='') ) AND q.quesid='23379'

/opt/clerks-staging/docroot/viewfaq.php 496 () ()

SELECT * FROM seoclerks.members WHERE USERID='601615'1SELECT * FROM seoclerks.members WHERE USERID='601615'

/opt/clerks-staging/docroot/include/functions/includes/member.php 445 GetAllUserDetails() ()

SELECT * FROM seoclerks.members WHERE USERID=6016151SELECT googleplus_profile FROM seoclerks.members WHERE USERID=601615

/opt/clerks-staging/docroot/include/functions/main.php 16914 GetGooglePlusProfileFromId() ()

SELECT * FROM ratings_faq as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=23379 LIMIT 51SELECT m.username FROM ratings_faq as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=23379 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM answers a, seoclerks.members b WHERE a.quesid='23379' AND a.userid=b.USERID and b.status='1' AND a.status=1 ORDER BY a.combined_votes DESC, a.date_answered asc1SELECT a.answer, a.USERID, a.upvotes, a.downvotes, a.ansid, a.parentid, a.combined_votes, a.date_answered, b.username, b.userlevel, b.profilepicture FROM answers a, seoclerks.members b WHERE a.quesid='23379' AND a.userid=b.USERID and b.status='1' AND a.status=1 ORDER BY a.combined_votes DESC, a.date_answered asc

/opt/clerks-staging/docroot/viewfaq.php 1245 () ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=123999 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=123999 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=124190 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=124190 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=122897 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=122897 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=123041 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=123041 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=123086 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=123086 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=122974 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=122974 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=123002 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=123002 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=123038 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=123038 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=123970 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=123970 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=123037 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=123037 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=124833 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=124833 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=131400 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=131400 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=165330 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=165330 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

SELECT * FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=172070 LIMIT 51SELECT m.username FROM ratings_faqanswers as r, seoclerks.members as m WHERE r.USERID=m.USERID AND r.upvote=1 AND r.PID=172070 LIMIT 5

/opt/clerks-staging/docroot/include/functions/main.php 17159 GetVoters() ()

UPDATE questions SET total_views = total_views + 1 WHERE quesid='23379'1UPDATE questions SET total_views = total_views + 1 WHERE quesid='23379'

/opt/clerks-staging/docroot/include/functions/main.php 1765 update_Faqviewcount() ()

SELECT * FROM questions WHERE quesid!='23379' AND status='1' AND (question like '% books SEO read?%' OR question like '%books%' OR question like '%read?%') -- ORDER BY RAND() LIMIT 151SELECT quesid, question, seo, userid FROM questions WHERE quesid!='23379' AND status='1' AND (question like '% books SEO read?%' OR question like '%books%' OR question like '%read?%') -- ORDER BY RAND() LIMIT 15

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() ()

SELECT * FROM seoclerks.members WHERE USERID='8860' limit 11SELECT profilepicture FROM seoclerks.members WHERE USERID='8860' limit 1

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_member_profilepicture()

SELECT * FROM seoclerks.members WHERE USERID='147' limit 11SELECT profilepicture FROM seoclerks.members WHERE USERID='147' limit 1

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_member_profilepicture()

SELECT * FROM seoclerks.members WHERE USERID='7716' limit 11SELECT profilepicture FROM seoclerks.members WHERE USERID='7716' limit 1

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_member_profilepicture()

SELECT * FROM seoclerks.members WHERE USERID='8709' limit 11SELECT profilepicture FROM seoclerks.members WHERE USERID='8709' limit 1

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_member_profilepicture()

SELECT * FROM members_ledger WHERE script='/opt/clerks-staging/docroot/viewfaq.php' AND querystring LIKE '%id=23379%' AND added>=UNIX_TIMESTAMP(NOW())-1200 GROUP BY USERID 1SELECT USERID, username FROM members_ledger WHERE script='/opt/clerks-staging/docroot/viewfaq.php' AND querystring LIKE '%id=23379%' AND added>=UNIX_TIMESTAMP(NOW())-1200 GROUP BY USERID

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() ()

SELECT * FROM categories1SELECT * FROM categories

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() parseRedundantQueriesCache()

select * from categories_software order by name asc1select * from categories_software order by name asc

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_GetSoftwareCategories()

select * from categories_wanttobuy order by name asc1select * from categories_wanttobuy order by name asc

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_wantcategories()

select * from categories_wanttotrade order by name asc1select * from categories_wanttotrade order by name asc

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_get_tradecategories()

SELECT * FROM seoclerks.members WHERE USERID='275652.png'1SELECT profilepicture FROM seoclerks.members WHERE USERID='275652.png'

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() getUserProfileImage()

SELECT * FROM seoclerks.members WHERE USERID='584702.jpg'1SELECT profilepicture FROM seoclerks.members WHERE USERID='584702.jpg'

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() getUserProfileImage()

SELECT * FROM seoclerks.members WHERE USERID='589438.jpg'1SELECT profilepicture FROM seoclerks.members WHERE USERID='589438.jpg'

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() getUserProfileImage()

SELECT * FROM seoclerks.members WHERE USERID='593814.jpg'1SELECT profilepicture FROM seoclerks.members WHERE USERID='593814.jpg'

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() getUserProfileImage()

SELECT * FROM seoclerks.members WHERE USERID='600052.jpg'1SELECT profilepicture FROM seoclerks.members WHERE USERID='600052.jpg'

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() getUserProfileImage()

SELECT * FROM seoclerks.members WHERE USERID='600657.jpg'1SELECT profilepicture FROM seoclerks.members WHERE USERID='600657.jpg'

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() getUserProfileImage()

select * from categories_faq order by name asc1select * from categories_faq order by name asc

/opt/clerks-staging/docroot/libraries/adodb5/adodb.inc.php 1899 CacheExecute() insert_GetFaqCategories()

Invalid SQL

count(*)sql1error_msg

Expensive SQL

Tuning the following SQL could reduce the server load substantially
LoadCountSQLMaxMin

Suspicious SQL

The following SQL have high average execution times
Avg TimeCountSQLMaxMin