SUPERCHARGE YOUR ONLINE VISIBILITY! CONTACT US AND LET’S ACHIEVE EXCELLENCE TOGETHER!
The project’s primary purpose, “Keyword Clarity: TF-IDF Powered Web Keyword Extractor” is to help website owners identify and analyze the most important keywords on their web pages. Using the TF-IDF (Term Frequency-Inverse Document Frequency) method, the project pinpoints which words are significant within a webpage’s content compared to other pages. This information is critical for optimizing content for search engines, improving SEO, and ultimately enhancing the website’s visibility and traffic.
What is TF-IDF?
TF-IDF stands for Term Frequency-Inverse Document Frequency. It’s a method used to evaluate how important a word is in a particular document compared to all the other documents in a collection (or corpus). In simple terms, it’s a way to find out which words are most significant in a text by considering how often they appear and how rare they are across other texts.
Breaking Down TF-IDF
- Term Frequency (TF):
- This measures how frequently a word appears in a document. The more times a word appears, the higher its TF score.
- Example: If the word “cat” appears 10 times in a 100-word article, the TF for “cat” would be 10/100 = 0.1.
- Inverse Document Frequency (IDF):
- This measures how unique or rare a word is across multiple documents. If a word appears in many documents, its IDF score is lower. If it appears in fewer documents, its IDF score is higher.
- Example: If “cat” appears in 1 out of 10 documents, the IDF would be higher, showing that “cat” is relatively unique. If “the” appears in all 10 documents, its IDF would be lower because it’s common.
- TF-IDF Score:
- The TF-IDF score is the product of TF and IDF. It helps highlight words that are frequent in a document but not common in many documents, marking them as important keywords.
- Example: If “cat” has a high TF and a high IDF, its TF-IDF score will be high, indicating it’s a significant term in that document.
- TF-IDF:
- Importance and Context: TF-IDF helps identify the most important words in a document, considering both their frequency within the document and their rarity across other documents. This makes it more powerful for identifying keywords and understanding what makes a document unique.
- Use Case: TF-IDF is widely used in search engines, information retrieval, and SEO to rank documents based on their relevance to a query, extract keywords, and enhance the quality of content analysis.
Use Cases of TF-IDF
- SEO (Search Engine Optimization):
- TF-IDF helps identify which keywords are most relevant to a specific content page. Website owners can optimize these keywords to improve their search engine rankings.
- Content Creation:
- It helps content creators understand what words are important in their articles or pages, guiding them to focus on the right topics and terms.
- Competitor Analysis:
- By analyzing competitors’ content using TF-IDF, website owners can identify gaps or opportunities to target specific keywords that competitors might have missed.
#Step 1: Install Required Libraries
!pip install requests beautifulsoup4
Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (2.32.3)
Requirement already satisfied: beautifulsoup4 in /usr/local/lib/python3.10/dist-packages (4.12.3)
Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests) (3.7)
Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests) (2.0.7)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests) (2024.7.4)
Requirement already satisfied: soupsieve>1.2 in /usr/local/lib/python3.10/dist-packages (from beautifulsoup4) (2.5)
import requests
from bs4 import BeautifulSoup
from sklearn.feature_extraction.text import TfidfVectorizer
import re
url = “https://thatware.co/”
response= requests.get(url)
soup = BeautifulSoup(response.text, ‘html.parser’)
- Why response.text instead of response.content
response.text is used because:
- Automatic Decoding: It automatically decodes the content according to the charset specified in the response headers. This is useful for parsing HTML content, as it ensures the text is in the correct encoding before it’s passed to BeautifulSoup.
- Simplicity: Since response.text gives a Unicode string, it’s ready for immediate use with BeautifulSoup, which works well with Unicode strings. This approach avoids potential issues with character encoding that could arise if the encoding isn’t correctly guessed or handled by BeautifulSoup.
Encoding: response.text automatically decodes the content of the response based on the response headers. It uses the charset specified in the Content-Type header (e.g., utf-8, iso-8859-1).
- Use Case: You would use response.text when you want the HTML content as a string and when the website properly specifies the encoding in the headers.
- Here, response.text is useful because it gives you the HTML content as a decoded string, which BeautifulSoup can then parse into a navigable tree structure.
# Parse the HTML content using BeautifulSoup
soup = BeautifulSoup(response.text, ‘html.parser’)
soup
<!DOCTYPE html>
<!–[if IE 9]> <html class=”no-js lt-ie10″ lang=”en-US”> <![endif]–>
<!–[if gt IE 9]><!–> <html class=”no-js” lang=”en-US”> <!–<![endif]–>
<head><meta charset=”utf-8″/><script>if(navigator.userAgent.match(/MSIE|Internet Explorer/i)||navigator.userAgent.match(/Trident\/7\..*?rv:11/i)){var href=document.location.href;if(!href.match(/[?&]nowprocket/)){if(href.indexOf(“?”)==-1){if(href.indexOf(“#”)==-1){document.location.href=href+”?nowprocket=1″}else{document.location.href=href.replace(“#”,”?nowprocket=1#”)}}else{if(href.indexOf(“#”)==-1){document.location.href=href+”&nowprocket=1″}else{document.location.href=href.replace(“#”,”&nowprocket=1#”)}}}}</script><script>(()=>{class RocketLazyLoadScripts{constructor(){this.v=”1.2.6″,this.triggerEvents=[“keydown”,”mousedown”,”mousemove”,”touchmove”,”touchstart”,”touchend”,”wheel”],this.userEventHandler=this.t.bind(this),this.touchStartHandler=this.i.bind(this),this.touchMoveHandler=this.o.bind(this),this.touchEndHandler=this.h.bind(this),this.clickHandler=this.u.bind(this),this.interceptedClicks=[],this.interceptedClickListeners=[],this.l(this),window.addEventListener(“pageshow”,(t=>{this.persisted=t.persisted,this.everythingLoaded&&this.m()})),this.CSPIssue=sessionStorage.getItem(“rocketCSPIssue”),document.addEventListener(“securitypolicyviolation”,(t=>{this.CSPIssue||”script-src-elem”!==t.violatedDirective||”data”!==t.blockedURI||(this.CSPIssue=!0,sessionStorage.setItem(“rocketCSPIssue”,!0))})),document.addEventListener(“DOMContentLoaded”,(()=>{this.k()})),this.delayedScripts={normal:[],async:[],defer:[]},this.trash=[],this.allJQueries=[]}p(t){document.hidden?t.t():(this.triggerEvents.forEach((e=>window.addEventListener(e,t.userEventHandler,{passive:!0}))),window.addEventListener(“touchstart”,t.touchStartHandler,{passive:!0}),window.addEventListener(“mousedown”,t.touchStartHandler),document.addEventListener(“visibilitychange”,t.userEventHandler))}_(){this.triggerEvents.forEach((t=>window.removeEventListener(t,this.userEventHandler,{passive:!0}))),document.removeEventListener(“visibilitychange”,this.userEventHandler)}i(t){“HTML”!==t.target.tagName&&(window.addEventListener(“touchend”,this.touchEndHandler),window.addEventListener(“mouseup”,this.touchEndHandler),window.addEventListener(“touchmove”,this.touchMoveHandler,{passive:!0}),window.addEventListener(“mousemove”,this.touchMoveHandler),t.target.addEventListener(“click”,this.clickHandler),this.L(t.target,!0),this.S(t.target,”onclick”,”rocket-onclick”),this.C())}o(t){window.removeEventListener(“touchend”,this.touchEndHandler),window.removeEventListener(“mouseup”,this.touchEndHandler),window.removeEventListener(“touchmove”,this.touchMoveHandler,{passive:!0}),window.removeEventListener(“mousemove”,this.touchMoveHandler),t.target.removeEventListener(“click”,this.clickHandler),this.L(t.target,!1),this.S(t.target,”rocket-onclick”,”onclick”),this.M()}h(){window.removeEventListener(“touchend”,this.touchEndHandler),window.removeEventListener(“mouseup”,this.touchEndHandler),window.removeEventListener(“touchmove”,this.touchMoveHandler,{passive:!0}),window.removeEventListener(“mousemove”,this.touchMoveHandler)}u(t){t.target.removeEventListener(“click”,this.clickHandler),this.L(t.target,!1),this.S(t.target,”rocket-onclick”,”onclick”),this.interceptedClicks.push(t),t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),this.M()}O(){window.removeEventListener(“touchstart”,this.touchStartHandler,{passive:!0}),window.removeEventListener(“mousedown”,this.touchStartHandler),this.interceptedClicks.forEach((t=>{t.target.dispatchEvent(new MouseEvent(“click”,{view:t.view,bubbles:!0,cancelable:!0}))}))}l(t){EventTarget.prototype.addEventListenerWPRocketBase=EventTarget.prototype.addEventListener,EventTarget.prototype.addEventListener=function(e,i,o){“click”!==e||t.windowLoaded||i===t.clickHandler||t.interceptedClickListeners.push({target:this,func:i,options:o}),(this||window).addEventListenerWPRocketBase(e,i,o)}}L(t,e){this.interceptedClickListeners.forEach((i=>{i.target===t&&(e?t.removeEventListener(“click”,i.func,i.options):t.addEventListener(“click”,i.func,i.options))})),t.parentNode!==document.documentElement&&this.L(t.parentNode,e)}D(){return new Promise((t=>{this.P?this.M=t:t()}))}C(){this.P=!0}M(){this.P=!1}S(t,e,i){t.hasAttribute&&t.hasAttribute(e)&&(event.target.setAttribute(i,event.target.getAttribute(e)),event.target.removeAttribute(e))}t(){this._(this),”loading”===document.readyState?document.addEventListener(“DOMContentLoaded”,this.R.bind(this)):this.R()}k(){let t=[];document.querySelectorAll(“script[type=rocketlazyloadscript][data-rocket-src]”).forEach((e=>{let i=e.getAttribute(“data-rocket-src”);if(i&&!i.startsWith(“data:”)){0===i.indexOf(“//”)&&(i=location.protocol+i);try{const o=new URL(i).origin;o!==location.origin&&t.push({src:o,crossOrigin:e.crossOrigin||”module”===e.getAttribute(“data-rocket-type”)})}catch(t){}}})),t=[…new Map(t.map((t=>[JSON.stringify(t),t]))).values()],this.T(t,”preconnect”)}async R(){this.lastBreath=Date.now(),this.j(this),this.F(this),this.I(),this.W(),this.q(),await this.A(this.delayedScripts.normal),await this.A(this.delayedScripts.defer),await this.A(this.delayedScripts.async);try{await this.U(),await this.H(this),await this.J()}catch(t){console.error(t)}window.dispatchEvent(new Event(“rocket-allScriptsLoaded”)),this.everythingLoaded=!0,this.D().then((()=>{this.O()})),this.N()}W(){document.querySelectorAll(“script[type=rocketlazyloadscript]”).forEach((t=>{t.hasAttribute(“data-rocket-src”)?t.hasAttribute(“async”)&&!1!==t.async?this.delayedScripts.async.push(t):t.hasAttribute(“defer”)&&!1!==t.defer||”module”===t.getAttribute(“data-rocket-type”)?this.delayedScripts.defer.push(t):this.delayedScripts.normal.push(t):this.delayedScripts.normal.push(t)}))}async B(t){if(await this.G(),!0!==t.noModule||!(“noModule”in HTMLScriptElement.prototype))return new Promise((e=>{let i;function o(){(i||t).setAttribute(“data-rocket-status”,”executed”),e()}try{if(navigator.userAgent.indexOf(“Firefox/”)>0||””===navigator.vendor||this.CSPIssue)i=document.createElement(“script”),[…t.attributes].forEach((t=>{let e=t.nodeName;”type”!==e&&(“data-rocket-type”===e&&(e=”type”),”data-rocket-src”===e&&(e=”src”),i.setAttribute(e,t.nodeValue))})),t.text&&(i.text=t.text),i.hasAttribute(“src”)?(i.addEventListener(“load”,o),i.addEventListener(“error”,(function(){i.setAttribute(“data-rocket-status”,”failed-network”),e()})),setTimeout((()=>{i.isConnected||e()}),1)):(i.text=t.text,o()),t.parentNode.replaceChild(i,t);else{const i=t.getAttribute(“data-rocket-type”),s=t.getAttribute(“data-rocket-src”);i?(t.type=i,t.removeAttribute(“data-rocket-type”)):t.removeAttribute(“type”),t.addEventListener(“load”,o),t.addEventListener(“error”,(i=>{this.CSPIssue&&i.target.src.startsWith(“data:”)?(console.log(“WPRocket: data-uri blocked by CSP -> fallback”),t.removeAttribute(“src”),this.B(t).then(e)):(t.setAttribute(“data-rocket-status”,”failed-network”),e())})),s?(t.removeAttribute(“data-rocket-src”),t.src=s):t.src=”data:text/javascript;base64,”+window.btoa(unescape(encodeURIComponent(t.text)))}}catch(i){t.setAttribute(“data-rocket-status”,”failed-transform”),e()}}));t.setAttribute(“data-rocket-status”,”skipped”)}async A(t){const e=t.shift();return e&&e.isConnected?(await this.B(e),this.A(t)):Promise.resolve()}q(){this.T([…this.delayedScripts.normal,…this.delayedScripts.defer,…this.delayedScripts.async],”preload”)}T(t,e){var i=document.createDocumentFragment();t.forEach((t=>{const o=t.getAttribute&&t.getAttribute(“data-rocket-src”)||t.src;if(o&&!o.startsWith(“data:”)){const s=document.createElement(“link”);s.href=o,s.rel=e,”preconnect”!==e&&(s.as=”script”),t.getAttribute&&”module”===t.getAttribute(“data-rocket-type”)&&(s.crossOrigin=!0),t.crossOrigin&&(s.crossOrigin=t.crossOrigin),t.integrity&&(s.integrity=t.integrity),i.appendChild(s),this.trash.push(s)}})),document.head.appendChild(i)}j(t){let e={};function i(i,o){return e[o].eventsToRewrite.indexOf(i)>=0&&!t.everythingLoaded?”rocket-“+i:i}function o(t,o){!function(t){e[t]||(e[t]={originalFunctions:{add:t.addEventListener,remove:t.removeEventListener},eventsToRewrite:[]},t.addEventListener=function(){arguments[0]=i(arguments[0],t),e[t].originalFunctions.add.apply(t,arguments)},t.removeEventListener=function(){arguments[0]=i(arguments[0],t),e[t].originalFunctions.remove.apply(t,arguments)})}(t),e[t].eventsToRewrite.push(o)}function s(e,i){let o=e[i];e[i]=null,Object.defineProperty(e,i,{get:()=>o||function(){},set(s){t.everythingLoaded?o=s:e[“rocket”+i]=o=s}})}o(document,”DOMContentLoaded”),o(window,”DOMContentLoaded”),o(window,”load”),o(window,”pageshow”),o(document,”readystatechange”),s(document,”onreadystatechange”),s(window,”onload”),s(window,”onpageshow”);try{Object.defineProperty(document,”readyState”,{get:()=>t.rocketReadyState,set(e){t.rocketReadyState=e},configurable:!0}),document.readyState=”loading”}catch(t){console.log(“WPRocket DJE readyState conflict, bypassing”)}}F(t){let e;function i(e){return t.everythingLoaded?e:e.split(” “).map((t=>”load”===t||0===t.indexOf(“load.”)?”rocket-jquery-load”:t)).join(” “)}function o(o){function s(t){const e=o.fn[t];o.fn[t]=o.fn.init.prototype[t]=function(){return this[0]===window&&(“string”==typeof arguments[0]||arguments[0]instanceof String?arguments[0]=i(arguments[0]):”object”==typeof arguments[0]&&Object.keys(arguments[0]).forEach((t=>{const e=arguments[0][t];delete arguments[0][t],arguments[0][i(t)]=e}))),e.apply(this,arguments),this}}o&&o.fn&&!t.allJQueries.includes(o)&&(o.fn.ready=o.fn.init.prototype.ready=function(e){return t.domReadyFired?e.bind(document)(o):document.addEventListener(“rocket-DOMContentLoaded”,(()=>e.bind(document)(o))),o([])},s(“on”),s(“one”),t.allJQueries.push(o)),e=o}o(window.jQuery),Object.defineProperty(window,”jQuery”,{get:()=>e,set(t){o(t)}})}async H(t){const e=document.querySelector(“script[data-webpack]”);e&&(await async function(){return new Promise((t=>{e.addEventListener(“load”,t),e.addEventListener(“error”,t)}))}(),await t.K(),await t.H(t))}async U(){this.domReadyFired=!0;try{document.readyState=”interactive”}catch(t){}await this.G(),document.dispatchEvent(new Event(“rocket-readystatechange”)),await this.G(),document.rocketonreadystatechange&&document.rocketonreadystatechange(),await this.G(),document.dispatchEvent(new Event(“rocket-DOMContentLoaded”)),await this.G(),window.dispatchEvent(new Event(“rocket-DOMContentLoaded”))}async J(){try{document.readyState=”complete”}catch(t){}await this.G(),document.dispatchEvent(new Event(“rocket-readystatechange”)),await this.G(),document.rocketonreadystatechange&&document.rocketonreadystatechange(),await this.G(),window.dispatchEvent(new Event(“rocket-load”)),await this.G(),window.rocketonload&&window.rocketonload(),await this.G(),this.allJQueries.forEach((t=>t(window).trigger(“rocket-jquery-load”))),await this.G();const t=new Event(“rocket-pageshow”);t.persisted=this.persisted,window.dispatchEvent(t),await this.G(),window.rocketonpageshow&&window.rocketonpageshow({persisted:this.persisted}),this.windowLoaded=!0}m(){document.onreadystatechange&&document.onreadystatechange(),window.onload&&window.onload(),window.onpageshow&&window.onpageshow({persisted:this.persisted})}I(){const t=new Map;document.write=document.writeln=function(e){const i=document.currentScript;i||console.error(“WPRocket unable to document.write this: “+e);const o=document.createRange(),s=i.parentElement;let n=t.get(i);void 0===n&&(n=i.nextSibling,t.set(i,n));const c=document.createDocumentFragment();o.setStart(c,0),c.appendChild(o.createContextualFragment(e)),s.insertBefore(c,n)}}async G(){Date.now()-this.lastBreath>45&&(await this.K(),this.lastBreath=Date.now())}async K(){return document.hidden?new Promise((t=>setTimeout(t))):new Promise((t=>requestAnimationFrame(t)))}N(){this.trash.forEach((t=>t.remove()))}static run(){const t=new RocketLazyLoadScripts;t.p(t)}}RocketLazyLoadScripts.run()})();</script>
<meta content=”upgrade-insecure-requests” http-equiv=”Content-Security-Policy”/>
<meta content=”width=device-width,initial-scale=1″ name=”viewport”>
<meta content=”IE=edge” http-equiv=”X-UA-Compatible”/>
<link href=”https://gmpg.org/xfn/11” rel=”profile”/>
<meta content=”index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1″ name=”robots”>
<!– This site is optimized with the Yoast SEO Premium plugin v23.0 (Yoast SEO v23.0) – https://yoast.com/wordpress/plugins/seo/ –>
<title>THATWARE® – AI Powered SEO & Best Advanced SEO Agency</title><link as=”style” href=”https://fonts.googleapis.com/css2?family=Anton&family=Abril+Fatface&family=Fjalla+One&display=swap” rel=”preload”/><link href=”https://fonts.googleapis.com/css2?family=Anton&family=Abril+Fatface&family=Fjalla+One&display=swap” media=”print” onload=”this.media=’all'” rel=”stylesheet”/><noscript><link href=”https://fonts.googleapis.com/css2?family=Anton&family=Abril+Fatface&family=Fjalla+One&display=swap” rel=”stylesheet”/></noscript>
<meta content=”ThatWare® is world’s first SEO company seamlessly integrating the power of AI into its strategies. Leveraging advanced SEO methods such as Semantics.” name=”description”/>
<link href=”https://thatware.co/” rel=”canonical”/>
<meta content=”en_US”/>
<meta content=”website”/>
<meta content=”Home”/>
<meta content=”ThatWare® is world’s first SEO company seamlessly integrating the power of AI into its strategies. Leveraging advanced SEO methods such as Semantics.”/>
<meta content=”https://thatware.co/“/>
<meta content=”Thatware”/>
<meta content=”2024-07-11T14:52:00+00:00″/>
<meta content=”summary_large_image” name=”twitter:card”/>
<!– / Yoast SEO Premium plugin. –>
<link crossorigin=”” href=”https://fonts.gstatic.com” rel=”preconnect”/>
<link href=”https://thatware.co/feed/” rel=”alternate” title=”Thatware » Feed” type=”application/rss+xml”/>
<link href=”https://thatware.co/comments/feed/” rel=”alternate” title=”Thatware » Comments Feed” type=”application/rss+xml”/>
<link href=”https://thatware.co/wp-includes/css/dist/block-library/style.min.css?ver=6.4.5” id=”wp-block-library-css” media=”all” rel=”stylesheet” type=”text/css”/>
<link data-minify=”1″ href=”https://thatware.co/wp-content/cache/min/1/wp-content/plugins/wp-whatsapp/assets/dist/css/style.css?ver=1720709659” id=”nta-css-popup-css” media=”all” rel=”stylesheet” type=”text/css”/>
<style id=”classic-theme-styles-inline-css” type=”text/css”>
/*! This file is auto-generated */
.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
</style>
<style id=”global-styles-inline-css” type=”text/css”>
body{–wp–preset–color–black: #000000;–wp–preset–color–cyan-bluish-gray: #abb8c3;–wp–preset–color–white: #ffffff;–wp–preset–color–pale-pink: #f78da7;–wp–preset–color–vivid-red: #cf2e2e;–wp–preset–color–luminous-vivid-orange: #ff6900;–wp–preset–color–luminous-vivid-amber: #fcb900;–wp–preset–color–light-green-cyan: #7bdcb5;–wp–preset–color–vivid-green-cyan: #00d084;–wp–preset–color–pale-cyan-blue: #8ed1fc;–wp–preset–color–vivid-cyan-blue: #0693e3;–wp–preset–color–vivid-purple: #9b51e0;–wp–preset–gradient–vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);–wp–preset–gradient–light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);–wp–preset–gradient–luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);–wp–preset–gradient–luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);–wp–preset–gradient–very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);–wp–preset–gradient–cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);–wp–preset–gradient–blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);–wp–preset–gradient–blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);–wp–preset–gradient–luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);–wp–preset–gradient–pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);–wp–preset–gradient–electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);–wp–preset–gradient–midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);–wp–preset–font-size–small: 13px;–wp–preset–font-size–medium: 20px;–wp–preset–font-size–large: 36px;–wp–preset–font-size–x-large: 42px;–wp–preset–spacing–20: 0.44rem;–wp–preset–spacing–30: 0.67rem;–wp–preset–spacing–40: 1rem;–wp–preset–spacing–50: 1.5rem;–wp–preset–spacing–60: 2.25rem;–wp–preset–spacing–70: 3.38rem;–wp–preset–spacing–80: 5.06rem;–wp–preset–shadow–natural: 6px 6px 9px rgba(0, 0, 0, 0.2);–wp–preset–shadow–deep: 12px 12px 50px rgba(0, 0, 0, 0.4);–wp–preset–shadow–sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);–wp–preset–shadow–outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);–wp–preset–shadow–crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(–wp–style–global–content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(–wp–style–global–wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(–wp–preset–color–black) !important;}.has-cyan-bluish-gray-color{color: var(–wp–preset–color–cyan-bluish-gray) !important;}.has-white-color{color: var(–wp–preset–color–white) !important;}.has-pale-pink-color{color: var(–wp–preset–color–pale-pink) !important;}.has-vivid-red-color{color: var(–wp–preset–color–vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(–wp–preset–color–luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(–wp–preset–color–luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(–wp–preset–color–light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(–wp–preset–color–vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(–wp–preset–color–pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(–wp–preset–color–vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(–wp–preset–color–vivid-purple) !important;}.has-black-background-color{background-color: var(–wp–preset–color–black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(–wp–preset–color–cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(–wp–preset–color–white) !important;}.has-pale-pink-background-color{background-color: var(–wp–preset–color–pale-pink) !important;}.has-vivid-red-background-color{background-color: var(–wp–preset–color–vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(–wp–preset–color–luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(–wp–preset–color–luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(–wp–preset–color–light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(–wp–preset–color–vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(–wp–preset–color–pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(–wp–preset–color–vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(–wp–preset–color–vivid-purple) !important;}.has-black-border-color{border-color: var(–wp–preset–color–black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(–wp–preset–color–cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(–wp–preset–color–white) !important;}.has-pale-pink-border-color{border-color: var(–wp–preset–color–pale-pink) !important;}.has-vivid-red-border-color{border-color: var(–wp–preset–color–vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(–wp–preset–color–luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(–wp–preset–color–luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(–wp–preset–color–light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(–wp–preset–color–vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(–wp–preset–color–pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(–wp–preset–color–vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(–wp–preset–color–vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(–wp–preset–gradient–vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(–wp–preset–gradient–light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(–wp–preset–gradient–luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(–wp–preset–gradient–luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(–wp–preset–gradient–very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(–wp–preset–gradient–cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(–wp–preset–gradient–blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(–wp–preset–gradient–blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(–wp–preset–gradient–luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(–wp–preset–gradient–pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(–wp–preset–gradient–electric-grass) !important;}.has-midnight-gradient-background{background: var(–wp–preset–gradient–midnight) !important;}.has-small-font-size{font-size: var(–wp–preset–font-size–small) !important;}.has-medium-font-size{font-size: var(–wp–preset–font-size–medium) !important;}.has-large-font-size{font-size: var(–wp–preset–font-size–large) !important;}.has-x-large-font-size{font-size: var(–wp–preset–font-size–x-large) !important;}
.wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;}
:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
.wp-block-pullquote{font-size: 1.5em;line-height: 1.6;}
</style>
<link data-minify=”1″ href=”https://thatware.co/wp-content/cache/min/1/wp-content/themes/rife-free/js/light-gallery/css/lightgallery.min.css?ver=1720709659” id=”jquery-lightgallery-css” media=”all” rel=”stylesheet” type=”text/css”/>
<link data-minify=”1″ href=”https://thatware.co/wp-content/cache/min/1/wp-content/themes/rife-free/css/font-awesome.min.css?ver=1720709659” id=”font-awesome-css” media=”all” rel=”stylesheet” type=”text/css”/>
<link data-minify=”1″ href=”https://thatware.co/wp-content/cache/min/1/wp-content/themes/rife-free/css/icomoon.css?ver=1720709659” id=”a13-icomoon-css” media=”all” rel=”stylesheet” type=”text/css”/>
<link data-minify=”1″ href=”https://thatware.co/wp-content/cache/min/1/wp-content/themes/rife-free/style.css?ver=1720709659” id=”a13-main-style-css” media=”all” rel=”stylesheet” type=”text/css”/>
<link data-minify=”1″ href=”https://thatware.co/wp-content/cache/min/1/wp-content/uploads/apollo13_framework_files/css/user.css?ver=1720709659” id=”a13-user-css-css” media=”all” rel=”stylesheet” type=”text/css”/>
<script data-rocket-src=”https://thatware.co/wp-includes/js/jquery/jquery.min.js?ver=3.7.1” data-rocket-type=”text/javascript” defer=”” id=”jquery-core-js” type=”rocketlazyloadscript”></script>
<script data-rocket-src=”https://thatware.co/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1” data-rocket-type=”text/javascript” defer=”defer” id=”jquery-migrate-js” type=”rocketlazyloadscript”></script>
<link href=”https://thatware.co/wp-json/” rel=”https://api.w.org/“/><link href=”https://thatware.co/wp-json/wp/v2/pages/18371” rel=”alternate” type=”application/json”/><link href=”https://thatware.co/xmlrpc.php?rsd” rel=”EditURI” title=”RSD” type=”application/rsd+xml”/>
<meta content=”WordPress 6.4.5″ name=”generator”/>
<link href=”https://thatware.co/” rel=”shortlink”/>
<link href=”https://thatware.co/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fthatware.co%2F” rel=”alternate” type=”application/json+oembed”/>
<link href=”https://thatware.co/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fthatware.co%2F&format=xml” rel=”alternate” type=”text/xml+oembed”/>
<script data-rocket-type=”text/javascript” type=”rocketlazyloadscript”>
// <![CDATA[
(function(){
var docElement = document.documentElement,
className = docElement.className;
// Change `no-js` to `js`
var reJS = new RegExp(‘(^|\\s)no-js( |\\s|$)’);
//space as literal in second capturing group cause there is strange situation when \s is not catched on load when other plugins add their own classes
className = className.replace(reJS, ‘$1js$2’);
docElement.className = className;
})();
// ]]>
</script><script data-rocket-type=”text/javascript” type=”rocketlazyloadscript”>window.addEventListener(‘DOMContentLoaded’, function() {
// <![CDATA[
WebFontConfig = {
google: {“families”:[“Unica One:400″,”Montserrat:400,500,700,800″,”Montserrat:900″,”Montserrat:400,500,700,800”]},
active: function () {
//tell listeners that fonts are loaded
if (window.jQuery) {
jQuery(document.body).trigger(‘webfontsloaded’);
}
}
};
(function (d) {
var wf = d.createElement(‘script’), s = d.scripts[0];
wf.src = ‘https://thatware.co/wp-content/themes/rife-free/js/webfontloader.min.js‘;
wf.type = ‘text/javascript’;
wf.async = ‘true’;
s.parentNode.insertBefore(wf, s);
})(document);
// ]]>
});</script><link href=”https://thatware.co/wp-content/uploads/2020/07/thatware_favicon–150×150.png” rel=”icon” sizes=”32×32″/>
<link href=”https://thatware.co/wp-content/uploads/2020/07/thatware_favicon-.png” rel=”icon” sizes=”192×192″/>
<link href=”https://thatware.co/wp-content/uploads/2020/07/thatware_favicon-.png” rel=”apple-touch-icon”/>
<meta content=”https://thatware.co/wp-content/uploads/2020/07/thatware_favicon-.png” name=”msapplication-TileImage”/>
<style id=”wp-custom-css” type=”text/css”>
.fas.fa-medal{
padding-top:15px
}
.fas.fa-star{
padding-top:25px
}
#fld_1529543_1.form-control{
border-radius:20px;
}
#fld_7818840_1.form-control{
border-radius:20px;
}
.floating {
animation-name: floating;
animation-duration: 3s;
animation-iteration-count: infinite;
animation-timing-function: ease-in-out;
}
@keyframes floating {
from { transform: translate(0, 0px); }
65% { transform: translate(5px, 20px); }
to { transform: translate(0, -0px); }
}
#side-menu-switch.fa.fa-bookmark.tool{
display:none;
}
#header-tools.icons-1::before{
display:none;
}
.wa__btn_popup_txt{
display:none;
}
@media only screen and (max-width: 600px) {
.to-top.fa.fa-angle-up.show{
padding-bottom:30px;
}
}
#to-top.to-top.fa.fa-angle-up.show{
display:none;
}
.wsp-category-title{
display:none;
}
.wsp-elementor_librarys-title{
display:none;
}
.wsp-elementor_librarys-list{
display:none;
}
#comments.comments-area{
display:none;
}
.ha-post-tab-meta {
display: none;
}
.home-counter {
width: 60%;
margin: 0 0 0 -20px;
}
.counter-block {
width: 48%;
display: inline-block;
float: left;
}
.counter-block p {
color: #B2B2B2;
font-family: “Quattrocento Sans”, Sans-serif;
font-size: 17px;
font-weight: 400;
line-height: 1.5em;
text-align: center;
}
.counter-block h6 {
font-family: “Unica One”, Sans-serif;
font-size: 28px;
font-weight: 400;
color: #fff;
line-height: 0.2em;
padding: 0;
margin: 0;
text-align: center;
}
.page-template-template-common-page .real-content > p:first-child {
color: #fff;
}
.page-template-template-common-page .real-content > p:first-child {
color: #fff;
}
/*–*/
#thatware-leadform {
width: 90%;
padding: 0;
margin: 0 auto;
}
#thatware-leadform .full-name,
#thatware-leadform .email-address,
#thatware-leadform .web-url,
#thatware-leadform .wpcf7-submit {
display: inline-block;
background: transparent;
}
#thatware-leadform .full-name input,
#thatware-leadform .email-address input,
#thatware-leadform .web-url input {
width: 100%;
border-radius: 25px;
border: 1px solid #ddd;
background: #fff;
}
#thatware-leadform .full-name {
width: 26%;
margin: 0 10px 5px 0;
font-size: 15px;
}
#thatware-leadform .email-address {
width: 25%;
margin: 0 10px 5px 0;
font-size: 15px;
}
#thatware-leadform .web-url {
width: 26%;
margin: 0 10px 5px 0;
font-size: 15px;
}
.home #thatware-leadform .wpcf7-submit {
width: 19%;
margin: 0 0 5px 0;
border-radius: 25px;
font-size: 15px;
border: 1px solid #fff;
transition: all 0.2s ease;
background: #333;
color: #fff;
}
#thatware-leadform .wpcf7-submit {
width: 19%;
margin: 0 0 5px 0;
border-radius: 25px;
font-size: 15px;
border: 1px solid #fff;
transition: all 0.2s ease;
background: #E94B3C;
}
#thatware-leadform .wpcf7-submit:hover {
background: #333;
color: #fff;
border: 1px solid #fff;
}
#thatware-leadform .wpcf7-form-control-wrap {
position: relative;
width: 25%;
float: left;
margin: 1%;
}
#thatware-leadform .wpcf7-form-control-wrap .wpcf7-text {
border-radius: 25px;
}
.home #thatware-leadform .wpcf7-submit {
width: 19%;
margin: 9px 0 5px 0;
border-radius: 25px;
font-size: 15px;
border: 1px solid #fff;
transition: all 0.2s ease;
background: #333;
color: #fff;
}
#thatware-leadform .wpcf7-submit {
width: 19%;
margin: 8px 0 5px 0;
border-radius: 25px;
font-size: 15px;
border: 1px solid #fff;
transition: all 0.2s ease;
background: #E94B3C;
}
/*–*/
/*–Responsive CSS–*/
@media (max-width: 1100px) {
#thatware-leadform .wpcf7-submit {
width: 18%;
}
}
@media(max-width: 1024px){
.home-counter {
margin: 0;
width: 70%;
}
}
@media(max-width: 767px){
.home-counter {
margin: 0;
}
#thatware-leadform {
width: 100%;
}
#thatware-leadform .email-address {
width: 25%;
}
}
@media ( max-width: 680px ) {
#thatware-leadform .full-name,
#thatware-leadform .email-address,
#thatware-leadform .web-url,
#thatware-leadform .wpcf7-submit {
width: 100% !important;
float: left;
margin: 0 0 12px !important;
}
#thatware-leadform .wpcf7-submit {
height: 45px;
}
#thatware-leadform .wpcf7-form-control-wrap {
position: relative;
width: 100%;
float: left;
margin: 1% 1% 1.5% 1%;
}
#thatware-leadform .wpcf7-submit {
margin: 5px 0 12px !important;
}
}
@media(max-width: 480px){
.home-counter {
margin: 0;
width: 100%;
}
.counter-block {
width: 48%;
margin: 0 0 20px;
}
.counter-block:last-child {
margin: 0 !important;
}
} </style>
<noscript><style id=”rocket-lazyload-nojs-css”>.rll-youtube-player, [data-lazy-src]{display:none !important;}</style></noscript>
<link data-minify=”1″ href=”https://thatware.co/wp-content/cache/min/1/wp-content/themes/rife-free/custom.css?ver=1720709660” rel=”stylesheet”/>
<!– Global site tag (gtag.js) – Google Analytics –>
<script async=”” data-rocket-src=”https://www.googletagmanager.com/gtag/js?id=UA-134999743-1” type=”rocketlazyloadscript”></script>
<script type=”rocketlazyloadscript”>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag(‘js’, new Date());
gtag(‘config’, ‘UA-134999743-1’);
</script>
<meta content=”Z9fsNCMIx3ZlnyUjDzlYW0LqFZblfXrNBF4gr5vfiNw” name=”google-site-verification”/>
<meta content=”index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1″ name=”robots”/>
<!– Meta Pixel Code –>
<script type=”rocketlazyloadscript”>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version=’2.0′;
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,’script’,
‘https://connect.facebook.net/en_US/fbevents.js‘);
fbq(‘init’, ‘1521935971535584’);
fbq(‘track’, ‘PageView’);
</script>
<noscript><img height=”1″ src=”https://www.facebook.com/tr?id=1521935971535584&ev=PageView&noscript=1” style=”display:none” width=”1″/></noscript>
<!– End Meta Pixel Code –>
</meta></meta></head>
<body class=”home page-template page-template-template-home page-template-template-home-php page page-id-18371 wp-embed-responsive side-menu-eff-7 header-horizontal site-layout-full” data-rsssl=”1″ id=”top”>
<div class=”whole-layout”>
<div class=”dots onReady” id=”preloader”>
<div class=”preload-content”>
<div class=”preloader-animation”> <div class=”dots-loading”>
<div class=”bullet”></div>
<div class=”bullet”></div>
<div class=”bullet”></div>
<div class=”bullet”></div>
</div>
</div>
<a class=”skip-preloader a13icon-cross” href=”#”></a>
</div>
</div>
<div class=”page-background to-move”></div>
<header class=”to-move a13-horizontal header-type-one_line a13-normal-variant header-variant-one_line full tools-icons-1 sticky-no-hiding” id=”header”>
<div class=”head”>
<div class=”logo-container”><a class=”logo normal-logo image-logo” href=”https://thatware.co/” rel=”home” title=”Thatware”><img alt=”Thatware” data-lazy-src=”https://thatware.co/wp-content/uploads/2023/03/logo-03.png” height=”355″ src=”data:image/svg+xml,%3Csvg%20xmlns=’http://www.w3.org/2000/svg’%20viewBox=’0%200%201416%20355’%3E%3C/svg%3E” width=”1416″/><noscript><img alt=”Thatware” height=”355″ src=”https://thatware.co/wp-content/uploads/2023/03/logo-03.png” width=”1416″/></noscript></a></div>
<nav class=”navigation-bar” id=”access”><!– this element is need in HTML even if menu is disabled –>
<div class=”menu-container”><ul class=”top-menu opener-icons-on” id=”menu-main-menu”><li class=”menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-parent-item menu-item-19535 mega-menu mm_columns_4″ id=”menu-item-19535″><a href=”https://thatware.co/services/“><span>SERVICES</span></a><i class=”fa sub-mark fa-angle-down” tabindex=”0″></i>
<ul class=”sub-menu”>
<li class=”menu-item menu-item-type-post_type menu-item-object-page menu-item-18344 mm_new_row” id=”menu-item-18344″><a href=”https://thatware.co/advanced-seo-services/“><span>Advanced SEO</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-page menu-item-18368″ id=”menu-item-18368″><a href=”https://thatware.co/digital-marketing-services/“><span>ADVANCED DIGITAL MARKETING</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-page menu-item-18404″ id=”menu-item-18404″><a href=”https://thatware.co/link-building-services/“><span>ADVANCED LINK BUILDING</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-page menu-item-18370″ id=”menu-item-18370″><a href=”https://thatware.co/managed-seo/“><span>FULLY MANAGED SEO</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-page menu-item-18490 mm_new_row” id=”menu-item-18490″><a href=”https://thatware.co/business-intelligence-services/“><span>BUSINESS INTELLIGENCE</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-page menu-item-19333″ id=”menu-item-19333″><a href=”https://thatware.co/branding-press-release-services/“><span>PAID MARKETING</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-page menu-item-18489″ id=”menu-item-18489″><a href=”https://thatware.co/google-penalty-recovery/“><span>Google penalty recovery</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-page menu-item-18488″ id=”menu-item-18488″><a href=”https://thatware.co/conversion-rate-optimization/“><span>Conversion Rate Optimization</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-page menu-item-18566 mm_new_row” id=”menu-item-18566″><a href=”https://thatware.co/social-media-marketing/“><span>SOCIAL MEDIA MARKETING</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-post menu-item-20057″ id=”menu-item-20057″><a href=”https://thatware.co/nlp-services/“><span>Information Retrieval & NLP Services</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-post menu-item-20058″ id=”menu-item-20058″><a href=”https://thatware.co/market-research-services/“><span>Market Research Services</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-post menu-item-20059″ id=”menu-item-20059″><a href=”https://thatware.co/competitor-keyword-analysis/“><span>Competitor Keyword Analysis and Research Services</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-post menu-item-20073 mm_new_row” id=”menu-item-20073″><a href=”https://thatware.co/content-writing-services/“><span>Content Writing Services</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-post menu-item-20072″ id=”menu-item-20072″><a href=”https://thatware.co/content-proofreading-services/“><span>Content Proofreading Services</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-post menu-item-20071″ id=”menu-item-20071″><a href=”https://thatware.co/web-development-services/“><span>Web Development Services</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-post menu-item-20060″ id=”menu-item-20060″><a href=”https://thatware.co/graphic-design-services/“><span>Graphic Design Services</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-post menu-item-20061 mm_new_row” id=”menu-item-20061″><a href=”https://thatware.co/technology-consulting-services/“><span>Technology Consulting Services</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-post menu-item-20062″ id=”menu-item-20062″><a href=”https://thatware.co/aws-managed-services/“><span>AWS Managed Services</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-post menu-item-20063″ id=”menu-item-20063″><a href=”https://thatware.co/website-maintenance-services/“><span>Website Maintenance Services</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-post menu-item-20064″ id=”menu-item-20064″><a href=”https://thatware.co/bug-testing-services/“><span>Bug and Software Testing Services</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-post menu-item-20065 mm_new_row” id=”menu-item-20065″><a href=”https://thatware.co/software-development-services/“><span>Custom Software Development Services (SAAS)</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-post menu-item-20066″ id=”menu-item-20066″><a href=”https://thatware.co/app-development-services/“><span>Mobile and Web App Services</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-post menu-item-20067″ id=”menu-item-20067″><a href=”https://thatware.co/ux-services/“><span>UX Design Services</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-post menu-item-20068″ id=”menu-item-20068″><a href=”https://thatware.co/ui-services/“><span>UI Services</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-post menu-item-20069 mm_new_row” id=”menu-item-20069″><a href=”https://thatware.co/chatbot-services/“><span>Chatbot Services</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-post menu-item-20070″ id=”menu-item-20070″><a href=”https://thatware.co/website-design-services/“><span>Website Design Services</span></a></li>
</ul>
</li>
<li class=”menu-item menu-item-type-post_type menu-item-object-page menu-item-19279 normal-menu” id=”menu-item-19279″><a href=”https://thatware.co/why-ai/“><span>Why AI ?</span></a></li>
<li class=”menu-item menu-item-type- menu-item-object- menu-item-has-children menu-parent-item menu-item-15025 normal-menu” id=”menu-item-15025″><a><span>OUR COMPANY</span></a><i class=”fa sub-mark fa-angle-down” tabindex=”0″></i>
<ul class=”sub-menu”>
<li class=”menu-item menu-item-type-post_type menu-item-object-page menu-item-19282″ id=”menu-item-19282″><a href=”https://thatware.co/about-us/“><span>ABOUT</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-page menu-item-19407″ id=”menu-item-19407″><a href=”https://thatware.co/how-it-works/“><span>HOW IT WORKS</span></a></li>
<li class=”menu-item menu-item-type-custom menu-item-object-custom menu-item-19158″ id=”menu-item-19158″><a href=”https://thatware.co/basecamp/“><span>HOW WE MANAGE</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-page menu-item-19414″ id=”menu-item-19414″><a href=”https://thatware.co/career/“><span>CAREER</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-page menu-item-19280″ id=”menu-item-19280″><a href=”https://thatware.co/tuhin-banik/“><span>ABOUT AUTHOR</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-page menu-item-19281″ id=”menu-item-19281″><a href=”https://thatware.co/case-studies/“><span>SEO CASE STUDIES</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-page menu-item-19443″ id=”menu-item-19443″><a href=”https://thatware.co/ai-implementations-seo/“><span>AI CASE STUDIES</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-page menu-item-19332″ id=”menu-item-19332″><a href=”https://thatware.co/ai-based-seo-blueprint/“><span>AI SEO BLUEPRINT</span></a></li>
<li class=”menu-item menu-item-type-custom menu-item-object-custom menu-item-22251″ id=”menu-item-22251″><a href=”https://www.youtube.com/watch?v=yE6bx2W3GU8“><span>AI-SEO Video</span></a></li>
<li class=”menu-item menu-item-type-custom menu-item-object-custom menu-item-22130″ id=”menu-item-22130″><a href=”https://thatware.co/reseller-partnership/“><span>Become Our Reseller</span></a></li>
<li class=”menu-item menu-item-type-custom menu-item-object-custom menu-item-22249″ id=”menu-item-22249″><a href=”https://thatware.co/wp-content/uploads/2022/04/ThatWare-Corporate-Profile.pdf“><span>Our Corporate Deck</span></a></li>
<li class=”menu-item menu-item-type-custom menu-item-object-custom menu-item-22435″ id=”menu-item-22435″><a href=”https://thatware.co/seo-faq/“><span>SEO FAQ’s for Clients</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-page menu-item-19331″ id=”menu-item-19331″><a href=”https://thatware.co/faq/“><span>FAQ</span></a></li>
</ul>
</li>
<li class=”menu-item menu-item-type-post_type menu-item-object-page menu-item-18587 normal-menu” id=”menu-item-18587″><a href=”https://thatware.co/blogs/“><span>BLOGS</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-page menu-item-18352 normal-menu” id=”menu-item-18352″><a href=”https://thatware.co/contact-us/“><span>CONTACT</span></a></li>
<li class=”menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-parent-item menu-item-23856 normal-menu” id=”menu-item-23856″><a href=”#”><span>Pricing</span></a><i class=”fa sub-mark fa-angle-down” tabindex=”0″></i>
<ul class=”sub-menu”>
<li class=”menu-item menu-item-type-custom menu-item-object-custom menu-item-21815″ id=”menu-item-21815″><a href=”https://thatware.co/360-seo-package/“><span>360 Degree SEO Package</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-post menu-item-23859″ id=”menu-item-23859″><a href=”https://thatware.co/enterprise-seo-pricing/“><span>Enterprise SEO Pricing</span></a></li>
<li class=”menu-item menu-item-type-custom menu-item-object-custom menu-item-22137″ id=”menu-item-22137″><a href=”https://thatware.co/outsource-seo-services/“><span>Outsource SEO</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-post menu-item-23858″ id=”menu-item-23858″><a href=”https://thatware.co/enterprise-vs-360-degree-seo-packages/“><span>Difference Between Enterprise and 360 Degree SEO Packages</span></a></li>
<li class=”menu-item menu-item-type-post_type menu-item-object-post menu-item-23860″ id=”menu-item-23860″><a href=”https://thatware.co/offpage-seo-pricing/“><span>Off-Page SEO Pricing Option</span></a></li>
</ul>
</li>
</ul></div> </nav>
<!– #access –>
<div class=”icons-1″ id=”header-tools”><button class=”fa fa-bookmark tool” id=”side-menu-switch” title=”More info”><span class=”screen-reader-text”>More info</span></button><button class=”a13icon-menu tool” id=”mobile-menu-opener” title=”Main menu”><span class=”screen-reader-text”>Main menu</span></button></div> </div>
</header>
<div class=”to-move layout-full_fixed layout-no-edge layout-fixed no-sidebars” id=”mid”><header class=”title-bar outside title_bar_variant_classic title_bar_width_ has-effect”><div class=”overlay-color”><div class=”in”><div class=”titles”><h1 class=”page-title entry-title”>Home</h1></div></div></div></header>
<style>
/*@import url(‘https://fonts.googleapis.com/css2?family=Anton&display=swap‘);
@import url(‘https://fonts.googleapis.com/css2?family=Abril+Fatface&display=swap‘);
@import url(‘https://fonts.googleapis.com/css2?family=Fjalla+One&display=swap’);*/
</style>
<article class=”clearfix” id=”content”>
<div class=”home-banner-block”>
<div class=”banner-square”></div>
<div class=”banner-circle”></div>
<div class=”content-limiter”>
<div id=”col-mask”>
<div class=”banner-achievements”>
<div class=”achievement-blk-1″>
<div class=”achivement-blk-1-top”>
<ul>
<li><h6>173,897,521</h6><p>$ Revenue<br/>Generated via SEO</p></li>
<li><h6>8,898,140</h6><p>Qualified Leads<br/>Generated</p></li>
</ul>
</div>
<div class=”achivement-blk-1-bottom”>
<!–<h5>AWARDED TOP RATED<br> PROFESSIONAL SEO<br> AGENCY BY<br>
<span class=”item-1″>CLUTCH</span> <span class=”item-2″>MANIFEST</span> <span class=”item-3″>SEM FIRMS</span></h5>–>
<!–<h5>AWARDED TOP RATED PROFESSIONAL SEO AGENCY BY <span>CLUTCH</span>, <span>MANIFEST</span>, <span>SEM FIRMS</span></h5>–>
<!–<h5>Future-Proof SEO: Amplify Visibility through <span>NLP</span>, <span>Semantics</span>, <span>Large Language Models (LLM)</span></h5>–>
<h5>Step into the Future of SEO: Amplify Visibility via <span>NLP</span>, <span>Semantics</span>, <span>Large Language Models (LLM)</span></h5>
</div>
</div>
<div class=”achievement-blk-2″>
<!–<p class=’seo-ts’>SEO</p>
<p class=’ds-ts’>DATA <br>SCIENCE</p>
<p class=’ai-ts’>AI</p>
<p class=’ml-ts’>MACHINE <br>LANGUAGE</p>–>
<img alt=”Thatware Achievements” data-lazy-src=”https://thatware.co/wp-content/uploads/2024/07/Advanced-SEO.webp” height=”400″ src=”data:image/svg+xml,%3Csvg%20xmlns=’http://www.w3.org/2000/svg’%20viewBox=’0%200%20500%20400’%3E%3C/svg%3E” style=”padding-bottom: 17px;” width=”500″/><noscript><img alt=”Thatware Achievements” height=”400″ src=”https://thatware.co/wp-content/uploads/2024/07/Advanced-SEO.webp” style=”padding-bottom: 17px;” width=”500″/></noscript>
</div>
</div>
<div class=”banner-achievements”>
<div class=”achievement-blk-3″>
<h5>Pioneer the Fusion of SEO with Artificial Intelligence and Data Science – a World-First Innovation!</h5>
</div>
<div class=”achievement-blk-4″>
<div class=”left-blk-4″>
<h6>Revolutionary SEO: Infusing AI for Unmatched Results – Your Professional SEO Partner!</h6>
</div>
<div class=”right-blk-4″>
<h5><i class=”fas fa-medal”></i></h5>
</div>
</div>
</div>
<div class=”banner-achievements”>
<div class=”achievement-blk-3″ style=”width: 100%;”>
<h6>Recognized and Awarded Worldwide by 200+ Elite Media Houses, Including:
<ul class=”rec-orgs”>
<li class=”heart”>Forbes Select 200</li>
<li class=”heart”>Clutch</li>
<li class=”heart”>TedX</li>
<li class=”heart”>BrightonSEO</li>
<li class=”heart”>GoodFirms</li>
<li class=”heart”>Entrepreneur</li>
<li class=”heart”>Manifest</li>
<li class=”heart”>STEVIE’S</li>
<li class=”heart”>Inventiva</li>
<!–<li class=”heart”>ECONOMIC TIMES</li>–>
</ul>
</h6></div>
</div>
</div>
</div>
</div>
<div class=”banner-bottom-block”>
<div class=”content-limiter”>
<div id=”col-mask”>
<h2>GET A CUSTOMIZED SEO AUDIT & DIGITAL MARKETING STRATEGY FOR YOUR BUSINESS. START BY SHARING YOUR DETAILS BELOW!</h2>
<div class=”wpcf7 no-js” dir=”ltr” id=”wpcf7-f24557-p18371-o1″ lang=”en-US”>
<div class=”screen-reader-response”><p aria-atomic=”true” aria-live=”polite” role=”status”></p> <ul></ul></div>
<form action=”/#wpcf7-f24557-p18371-o1″ aria-label=”Contact form” class=”wpcf7-form init” data-status=”init” method=”post” novalidate=”novalidate”>
<div style=”display: none;”>
<input name=”_wpcf7″ type=”hidden” value=”24557″/>
<input name=”_wpcf7_version” type=”hidden” value=”5.8.4″/>
<input name=”_wpcf7_locale” type=”hidden” value=”en_US”/>
<input name=”_wpcf7_unit_tag” type=”hidden” value=”wpcf7-f24557-p18371-o1″/>
<input name=”_wpcf7_container_post” type=”hidden” value=”18371″/>
<input name=”_wpcf7_posted_data_hash” type=”hidden” value=””/>
<input name=”_wpcf7_recaptcha_response” type=”hidden” value=””/>
</div>
<div id=”thatware-leadform”>
<p><span class=”wpcf7-form-control-wrap” data-name=”full-name”><input aria-invalid=”false” aria-required=”true” class=”wpcf7-form-control wpcf7-text wpcf7-validates-as-required” name=”full-name” placeholder=”Name” size=”40″ type=”text” value=””/></span><span class=”wpcf7-form-control-wrap” data-name=”email-address”><input aria-invalid=”false” aria-required=”true” class=”wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email” name=”email-address” placeholder=”Email Address” size=”40″ type=”email” value=””/></span><span class=”wpcf7-form-control-wrap” data-name=”web-url”><input aria-invalid=”false” aria-required=”true” class=”wpcf7-form-control wpcf7-text wpcf7-validates-as-required” name=”web-url” placeholder=”Website URL” size=”40″ type=”text” value=””/></span><input class=”wpcf7-form-control wpcf7-submit has-spinner” type=”submit” value=”SUBMIT”/>
</p>
</div><div aria-hidden=”true” class=”wpcf7-response-output”></div>
</form>
</div>
<h5>IF YOU WOULD LIKE TO DISCUSS YOUR SEO CHALLENGES, CONTACT US TODAY BY CLICKING THE LINK BELOW</h5>
<div class=”banner-btn”><a class=”shutter-btn” href=”https://thatware.co/contact-us“>CONTACT US</a></div>
</div>
</div>
</div>
<div class=”home-digital-block”>
<div class=”content-limiter”>
<div id=”col-mask”>
<div class=”left-home-digital-block”>
<h2>AI SEO UNLOCKS THE GOOGLE MAZE</h2>
<p>8 years ago, we embarked on a journey to unravel the intricacies of the Google algorithm—a cryptic enigma begging to be deciphered. Consider it akin to unlocking a closely guarded secret, comparable only to the recipe of Coca Cola or the security measures surrounding the Crown Jewels of London.</p>
<p>To traverse the Google maze, we decided to rewrite the rules and carve our own path. Our strategy? Develop proprietary AI algorithms to adeptly monitor and navigate the evolving landscape of the Google algorithm. To date, we’ve pioneered an impressive portfolio of 753+ unique AI SEO algorithms, elevating the effectiveness and efficiency of our work.</p>
<p>While SEO teams globally have traditionally relied on three key strategies—on-site SEO optimization, backlink building, and content creation and optimization—we at Thatware AI SEO have rewritten the playbook.</p>
<p>Picture this scenario: Your company aspires to secure a coveted spot on page 1 for a strategic keyword. Like clockwork, you scrutinize competitors already occupying that space, pondering the age-old question: “How do I surpass my competitors?”</p>
<p>While conventional SEO companies diligently apply the core elements of on-site optimization, backlink building, and content creation, they often miss a crucial ingredient—Intelligent Guidance.</p>
<p>Here’s our differentiator: Our AI SEO algorithms generate unparalleled “intelligent guidance” unavailable to any other SEO agency globally, revolutionizing the game.</p>
<p>Here’s how it unfolds:</p>
<p>1. Our AI algorithms meticulously analyze your competitors’ sites.</p>
<p>2. They scrutinize your website.</p>
<p>3. They delve into the depths of the Google algorithm itself (yes, we use our AI to monitor Google’s AI).</p>
<p>4. Our AI algorithms provide precise, surgical instructions for implementing the essential aspects of SEO (on-site, backlinks, and content).</p>
<p>5. In essence, our AI SEO algorithms dictate EXACTLY WHAT TO DO to establish your site as the most authoritative for a given keyword, ensuring swift ascent to page 1.</p>
<p>A staggering 95% retention rate across 7400+ clients serves as irrefutable evidence of our success.</p>
<a class=”shutter-btn” href=”https://thatware.co/why-ai/“>Read More</a>
</div>
<div class=”right-home-digital-block” style=”color:#fff;”>
<ul>
<li>
<h6>FASTER RESULTS</h6>
<p>Utilizing 753 proprietary AI algorithms, our SEO strategy implementation delivers improved SERP results more swiftly than any other SEO agency globally.</p>
</li>
<li>
<h6>NAVIGATING GOOGLE’S ALGORITHM CHANGES</h6>
<p>Google undergoes over 5000 changes to its algorithm each year. We leverage AI to empower our clients to seamlessly adapt to Google’s algorithmic shifts. Yes, our AI monitors Google’s AI.</p>
</li>
<li>
<h6>ENHANCED CUSTOMER JOURNEY</h6>
<p>Our AI SEO systems also contribute to optimizing customer journeys, enhancing user experiences, and maximizing ROI from marketing efforts.</p>
</li>
<li>
<h6>HUMAN-BASED THINKING</h6>
<p>Implementing advanced technical SEO operations such as chatbots and trend line identification greatly assists online businesses in providing human-based customer support. This, in turn, boosts revenue streams for online enterprises.</p>
</li>
<li>
<h6>PRECISE ROI TRACKING</h6>
<p>AI-based SEO ensures precise ROI tracking, involving real-time data tracking with high-level insights. Business owners can effectively measure SEO success with this approach.</p>
</li>
<li>
<h6>ENHANCED USER EXPERIENCE</h6>
<p>Leveraging artificial intelligence in search engine optimization allows website owners to elevate user experiences on their sites. Advanced data analytics discern user behavior and study patterns to enhance the intent of search queries, resulting in higher search engine rankings.</p>
</li>
<li>
<h6>PROACTIVE REPORTING</h6>
<p>Artificial intelligence aids in creating real-time reporting tables, correlating essential data and statistics for a powerful SEO campaign. Real-time reporting is crucial for running an effective SEO strategy.</p>
</li>
<li>
<h6>INTENT SATISFACTION</h6>
<p>Semantic engineering and information retrieval contribute to achieving proper intent satisfaction. This fundamental algorithm not only aligns with Google’s core principles but also ensures high-ranking positions for challenging keywords.</p>
</li>
<li>
<h6>PERFORMANCE GUARANTEE</h6>
<p>Advanced SEO strategies guarantee that a campaign achieves performance benchmarks, encompassing aspects such as keyword ranking, SERP visibility, organic traffic, brand value, and more.</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class=”home-services-block”>
<div class=”content-limiter”>
<div id=”col-mask”>
<div class=”thatware-service-desp”>
<h2>SERVICES BY THATWARE</h2>
<p>There are numerous technical SEO companies worldwide, but Thatware stands out as the global leader with its AI-powered advanced SEO systems. From advanced off-page services to professional AI SEO solutions, no other agency possesses <strong>Thatware’s</strong> capabilities.</p>
<p>What distinguishes us is the 753 AI algorithms we’ve developed over the past 8 years. These AI tools provide cutting-edge technology, leveraging sophisticated data science, machine learning, semantic engineering, advanced search, and more.</p>
<p>In addition to AI SEO, the team at <strong>THATWARE</strong> offers a diverse range of services. Explore the options below and reach out to us to elevate your online marketing to a whole new level.</p>
</div>
<div class=”thatware-services”>
<div class=”serv-icon”><i class=”fa fa-google”></i></div>
<h2>ADVANCED SEO</h2>
<p>Experience the best practices of top-notch SEO standards with the perfect blend of search engineering. Our service model incorporates all our AI techniques, seamlessly integrating them with SEO to achieve greater success.</p>
<a class=”shutter-btn” href=”https://thatware.co/advanced-seo-services/“>Read More</a>
</div>
<div class=”thatware-services”>
<div class=”serv-icon”><i class=”fa fa-google-wallet”></i></div>
<h2>Advanced Digital Marketing</h2>
<p>Utilizing the best data science practices for ROI-based marketing, we provide advanced data-driven strategies and cutting-edge techniques that can transform a small startup into a branded organization.</p>
<a class=”shutter-btn” href=”https://thatware.co/digital-marketing-services/“>Read More</a>
</div>
<div class=”thatware-services”>
<div class=”serv-icon”><i class=”fa fa-link”></i></div>
<h2>Advanced Link Building</h2>
<p>Includes the implementation and execution of sophisticated link-building principles and strategies. Our advanced, cutting-edge link-building methods and techniques can contribute to achieving success.</p>
<a class=”shutter-btn” href=”https://thatware.co/link-building-services/“>Read More</a>
</div>
<!–<div class=”thatware-services”>–>
<!– <div class=”serv-icon”><i class=”fa fa-braille”></i></div>–>
<!– <h2>AI Based search engine optimization</h2>–>
<!– <p>This is our unique service proposition. We make use of semantic engineering and NLP for getting standardized SEO’s implemented. In this model we offer many of our own invented artificial intelligence strategies.</p>–>
<!– <a href=”https://thatware.co/ai-based-seo-services/” class=”shutter-btn”>Read More</a>–>
<!–</div>–>
<!–<div class=”thatware-services”>–>
<!– <div class=”serv-icon”><i class=”fa fa-bold”></i></div>–>
<!– <h2>Branding, Paid Marketing</h2>–>
<!– <p>If you want to take your business into a whole new level with the help of paid marketing strategies like PPC, PR, Media, and etc. reach out to us. We will help you to reach your goal with our marketing strategies.</p>–>
<!– <a href=”https://thatware.co/branding-press-release-services/” class=”shutter-btn”>Read More</a>–>
<!–</div>–>
<!–<div class=”thatware-services”>–>
<!– <div class=”serv-icon”><i class=”fa fa-cc-mastercard”></i></div>–>
<!– <h2>Business Intelligence</h2>–>
<!– <p>Service which will help to uncover all the competitive best practices and strategies using data driven strategies and technicalities. We have an expert team of Business Intelligence to serve.</p>–>
<!– <a href=”https://thatware.co/business-intelligence-services/” class=”shutter-btn”>Read More</a>–>
<!–</div>–>
<!–<div class=”thatware-services”>–>
<!– <div class=”serv-icon”><i class=”fa fa-cubes”></i></div>–>
<!– <h2>Managed search engine optimization</h2>–>
<!– <p>This service model is designed and crafted for big companies and agencies. Example – Fortune companies, MNC’s and multi-national agencies. Here all the operations are custom and dedicatedly performed.</p>–>
<!– <a href=”https://thatware.co/managed-seo/” class=”shutter-btn”>Read More</a>–>
<!–</div>–>
<!–<div class=”thatware-services”>–>
<!– <div class=”serv-icon”><i class=”fa fa-area-chart”></i></div>–>
<!– <h2>One Time search engine optimization</h2>–>
<!– <p>This service model is designed and crafted for small businesses and start-ups. One-time SEO will help with getting all low hanging fruits resolved at best pricing which gives a positive effect on Digital Marketing.</p>–>
<!– <a href=”https://thatware.co/starter-seo-services/” class=”shutter-btn”>Read More</a>–>
<!–</div>–>
<!–<div class=”thatware-services”>–>
<!– <div class=”serv-icon”><i class=”fa fa-handshake-o”></i></div>–>
<!– <h2>Reseller search engine optimization</h2>–>
<!– <p>This service model is designed and crafted for agencies who are looking to outsource their existing projects at affordable re-seller pricing. Our expert team of outsourcing can help to get the best deal out of the project.</p>–>
<!– <a href=”https://thatware.co/reseller-seo-services/” class=”shutter-btn”>Read More</a>–>
<!–</div>–>
<a class=”serv-btn shutter-btn” href=”https://thatware.co/services/“>VIEW ALL SERVICES</a>
</div>
</div>
</div>
<div class=”home-video-services-block”>
<div class=”content-limiter”>
<div id=”col-mask”>
<div class=”thatware-service-desp”>
<h2>Let Our Recognition Speak</h2>
</div>
<div class=”video-services”>
<p><iframe allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share” allowfullscreen=”” data-lazy-src=”https://www.youtube.com/embed/jzyVVCzySlU?feature=oembed” data-rocket-lazyload=”fitvidscompatible” frameborder=”0″ height=”180″ loading=”lazy” src=”about:blank” title=”Cost of Retrieval | What is it? Semantic SEO | Brighton SEO” width=”320″></iframe><noscript><iframe allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share” allowfullscreen=”” frameborder=”0″ height=”180″ src=”https://www.youtube.com/embed/jzyVVCzySlU?feature=oembed” title=”Cost of Retrieval | What is it? Semantic SEO | Brighton SEO” width=”320″></iframe></noscript></p>
<p>Brighton</p>
</div>
<div class=”video-services”>
<p><iframe allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share” allowfullscreen=”” data-lazy-src=”https://www.youtube.com/embed/09JNSZfIFwc?feature=oembed” data-rocket-lazyload=”fitvidscompatible” frameborder=”0″ height=”180″ loading=”lazy” src=”about:blank” title=”Power of Adapting to the Digital Transformation Ecosystem | Dr. Tuhin Banik | TEDxAnandNagar” width=”320″></iframe><noscript><iframe allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share” allowfullscreen=”” frameborder=”0″ height=”180″ src=”https://www.youtube.com/embed/09JNSZfIFwc?feature=oembed” title=”Power of Adapting to the Digital Transformation Ecosystem | Dr. Tuhin Banik | TEDxAnandNagar” width=”320″></iframe></noscript></p>
<p>Tedx</p>
</div>
<div class=”video-services”>
<iframe allow=”autoplay; clipboard-write; encrypted-media; picture-in-picture; web-share” allowfullscreen=”true” data-lazy-src=”https://www.facebook.com/plugins/video.php?height=200&href=https%3A%2F%2Fwww.facebook.com%2Fthatware%2Fvideos%2F303343932646403%2F&show_text=false&width=267&t=0” data-rocket-lazyload=”fitvidscompatible” frameborder=”0″ height=”200″ loading=”lazy” scrolling=”no” src=”about:blank” style=”border:none;overflow:hidden” width=”320″></iframe><noscript><iframe allow=”autoplay; clipboard-write; encrypted-media; picture-in-picture; web-share” allowfullscreen=”true” frameborder=”0″ height=”200″ scrolling=”no” src=”https://www.facebook.com/plugins/video.php?height=200&href=https%3A%2F%2Fwww.facebook.com%2Fthatware%2Fvideos%2F303343932646403%2F&show_text=false&width=267&t=0” style=”border:none;overflow:hidden” width=”320″></iframe></noscript>
<p>Forbes</p>
</div>
</div>
</div>
</div>
<div class=”home-case-study-block”>
<div class=”content-limiter”>
<div id=”col-mask”>
<div class=”left-case-study”>
<h2>CASE STUDIES</h2>
<img alt=”Case Study” data-lazy-src=”https://thatware.co/wp-content/uploads/2023/12/ThatWare-case-Study.webp” src=”data:image/svg+xml,%3Csvg%20xmlns=’http://www.w3.org/2000/svg’%20viewBox=’0%200%200%200’%3E%3C/svg%3E“/><noscript><img alt=”Case Study” src=”https://thatware.co/wp-content/uploads/2023/12/ThatWare-case-Study.webp“/></noscript>
</div>
<div class=”right-case-study”>
<div class=”top-case-study”>
<h2>SUNRAY OPTICAL INC. (HEAVYGLARE EYEWEAR)</h2>
<p>Services Provided : Advanced SEO</p>
<p>The business marketing SEO model implemented for the above campaign is an advanced model. In other words, we executed top-notch search strategies with the right blend of Artificial Intelligence semantics, data science, advanced link building, and NLP. As a result, the following statistics were obtained:</p>
<ul>
<li><strong>1.5<sup>$MILLION</sup></strong><br/>In Sales</li>
<li><strong>600,000<sup>+</sup></strong><br/>Organic Sessions</li>
<li><strong>Over 50,00</strong><br/>Checkouts</li>
</ul>
</div>
<div class=”bottom-case-study”>
<div class=”case-btn text-center”><a class=”shutter-btn” href=”https://thatware.co/case-studies/“>Read Complete Case</a></div>
</div>
</div>
</div>
</div>
</div>
<div class=”video-testimonials”>
<div class=”content-limiter”>
<div id=”col-mask”>
<h2>VIDEO TESTIMONIALS</h2>
<div class=”video-block” style=”max-width: 320px;”>
<p><iframe allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen=”” data-lazy-src=”https://www.youtube.com/embed/iMs85XNKn9Y?feature=oembed” data-rocket-lazyload=”fitvidscompatible” frameborder=”0″ height=”180″ loading=”lazy” src=”about:blank” title=”Review3″ width=”320″></iframe><noscript><iframe allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen=”” frameborder=”0″ height=”180″ src=”https://www.youtube.com/embed/iMs85XNKn9Y?feature=oembed” title=”Review3″ width=”320″></iframe></noscript></p>
</div>
<div class=”video-block” style=”max-width: 320px;”>
<p><iframe allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen=”” data-lazy-src=”https://www.youtube.com/embed/1xH5RuvXxO4?feature=oembed” data-rocket-lazyload=”fitvidscompatible” frameborder=”0″ height=”180″ loading=”lazy” src=”about:blank” title=”Review2″ width=”320″></iframe><noscript><iframe allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen=”” frameborder=”0″ height=”180″ loading=”lazy” src=”https://www.youtube.com/embed/1xH5RuvXxO4?feature=oembed” title=”Review2″ width=”320″></iframe></noscript></p>
</div>
<div class=”video-block” style=”max-width: 320px;”>
<p><iframe allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen=”” data-lazy-src=”https://www.youtube.com/embed/N0APF_3Hvks?feature=oembed” data-rocket-lazyload=”fitvidscompatible” frameborder=”0″ height=”180″ loading=”lazy” src=”about:blank” title=”Review4″ width=”320″></iframe><noscript><iframe allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen=”” frameborder=”0″ height=”180″ loading=”lazy” src=”https://www.youtube.com/embed/N0APF_3Hvks?feature=oembed” title=”Review4″ width=”320″></iframe></noscript></p>
</div>
<div class=”video-block” style=”max-width: 320px;”>
<p><iframe allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen=”” data-lazy-src=”https://www.youtube.com/embed/J38zJYeSWiw?feature=oembed” data-rocket-lazyload=”fitvidscompatible” frameborder=”0″ height=”180″ loading=”lazy” src=”about:blank” title=”Review1″ width=”320″></iframe><noscript><iframe allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen=”” frameborder=”0″ height=”180″ loading=”lazy” src=”https://www.youtube.com/embed/J38zJYeSWiw?feature=oembed” title=”Review1″ width=”320″></iframe></noscript></p>
</div>
<div class=”video-block” style=”max-width: 320px;”>
<p><iframe allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen=”” data-lazy-src=”https://www.youtube.com/embed/mwdhHeojqC8?feature=oembed” data-rocket-lazyload=”fitvidscompatible” frameborder=”0″ height=”180″ loading=”lazy” src=”about:blank” title=”review 4″ width=”320″></iframe><noscript><iframe allow=”accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture” allowfullscreen=”” frameborder=”0″ height=”180″ loading=”lazy” src=”https://www.youtube.com/embed/mwdhHeojqC8?feature=oembed” title=”review 4″ width=”320″></iframe></noscript></p>
</div>
</div>
</div>
</div>
<div class=”our-clients-block”>
<div class=”content-limiter”>
<div id=”col-mask”>
<div class=”left-client-block”>
<h2>OUR CLIENTS</h2>
<p>We are acknowledged as one of the leading SEO firms globally. With that said, we provide the best SEO services tailored for both small businesses and large Fortune companies. Our clientele spans from local vendors to international billion-dollar corporations. Our SEO strategies for online businesses are advanced, and we offer tailor-made customized solutions to all our clients.</p>
<p>If you are seeking to hire a technical SEO expert or a search engine optimization consultant, THEN THATWARE is the right place for you. Our unique USP is one of a kind, making us the only advanced search company in the world that operates on AI and data science.</p>
<p>Allow us to serve you and elevate your online business to a whole new level. Become a part of our amazing portfolio. Join our family, where we work day and night to ensure the best-in-class service for your online needs.</p>
</div>
<div class=”right-client-block”>
<ul>
<li><img alt=”Client 1″ data-lazy-src=”https://thatware.co/wp-content/uploads/2023/12/top-star-tour.webp” src=”data:image/svg+xml,%3Csvg%20xmlns=’http://www.w3.org/2000/svg’%20viewBox=’0%200%200%200’%3E%3C/svg%3E“/><noscript><img alt=”Client 1″ src=”https://thatware.co/wp-content/uploads/2023/12/top-star-tour.webp“/></noscript></li>
<li><img alt=”Client 2″ data-lazy-src=”https://thatware.co/wp-content/uploads/2023/12/4brothers.webp” src=”data:image/svg+xml,%3Csvg%20xmlns=’http://www.w3.org/2000/svg’%20viewBox=’0%200%200%200’%3E%3C/svg%3E“/><noscript><img alt=”Client 2″ src=”https://thatware.co/wp-content/uploads/2023/12/4brothers.webp“/></noscript></li>
<li><img alt=”Client 3″ data-lazy-src=”https://thatware.co/wp-content/uploads/2023/12/nathaniel-cars.webp” src=”data:image/svg+xml,%3Csvg%20xmlns=’http://www.w3.org/2000/svg’%20viewBox=’0%200%200%200’%3E%3C/svg%3E“/><noscript><img alt=”Client 3″ src=”https://thatware.co/wp-content/uploads/2023/12/nathaniel-cars.webp“/></noscript></li>
<li><img alt=”Client 4″ data-lazy-src=”https://thatware.co/wp-content/uploads/2023/12/kaibur.webp” src=”data:image/svg+xml,%3Csvg%20xmlns=’http://www.w3.org/2000/svg’%20viewBox=’0%200%200%200’%3E%3C/svg%3E“/><noscript><img alt=”Client 4″ src=”https://thatware.co/wp-content/uploads/2023/12/kaibur.webp“/></noscript></li>
<li><img alt=”Client 5″ data-lazy-src=”https://thatware.co/wp-content/uploads/2023/12/xjgames.webp” src=”data:image/svg+xml,%3Csvg%20xmlns=’http://www.w3.org/2000/svg’%20viewBox=’0%200%200%200’%3E%3C/svg%3E“/><noscript><img alt=”Client 5″ src=”https://thatware.co/wp-content/uploads/2023/12/xjgames.webp“/></noscript></li>
<li><img alt=”Client 6″ data-lazy-src=”https://thatware.co/wp-content/uploads/2023/12/coachepreneur.webp” src=”data:image/svg+xml,%3Csvg%20xmlns=’http://www.w3.org/2000/svg’%20viewBox=’0%200%200%200’%3E%3C/svg%3E“/><noscript><img alt=”Client 6″ src=”https://thatware.co/wp-content/uploads/2023/12/coachepreneur.webp“/></noscript></li>
</ul>
</div>
</div>
</div>
</div>
<div class=”main-faq-block”>
<div class=”content-limiter”>
<div id=”col-mask”>
<ul class=”faq-btns”>
<li><a class=”shutter-btn” href=”https://thatware.co/seo-faq/“>SEO FAQ’s</a></li>
<li><a class=”shutter-btn” href=”https://thatware.co/faq/“>Generic FAQ’s</a></li>
</ul>
<div class=”row”>
<!–<h2 class=”text-center”>FREQUENTLY ASKED QUESTIONS</h2>–>
<div class=”col”>
<div class=”tabs” style=”display:none;”>
<div class=”tab”>
<input id=”chck” type=”checkbox”/>
<label class=”tab-label” for=”chck”></label>
<div class=”tab-content”>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class=”main-contact-block”>
<div class=”content-limiter”>
<div id=”col-mask”>
<div class=”left-contact”>
<h3>SEND US YOUR THOUGHTS</h3>
<div class=”wpcf7 no-js” dir=”ltr” id=”wpcf7-f23926-p18371-o2″ lang=”en-US”>
<div class=”screen-reader-response”><p aria-atomic=”true” aria-live=”polite” role=”status”></p> <ul></ul></div>
<form action=”/#wpcf7-f23926-p18371-o2″ aria-label=”Contact form” class=”wpcf7-form init” data-status=”init” method=”post” novalidate=”novalidate”>
<div style=”display: none;”>
<input name=”_wpcf7″ type=”hidden” value=”23926″>
<input name=”_wpcf7_version” type=”hidden” value=”5.8.4″/>
<input name=”_wpcf7_locale” type=”hidden” value=”en_US”/>
<input name=”_wpcf7_unit_tag” type=”hidden” value=”wpcf7-f23926-p18371-o2″/>
<input name=”_wpcf7_container_post” type=”hidden” value=”18371″/>
<input name=”_wpcf7_posted_data_hash” type=”hidden” value=””/>
<input name=”_wpcf7_recaptcha_response” type=”hidden” value=””/>
</input></div>
<p><label> <span class=”wpcf7-form-control-wrap” data-name=”your-name”><input aria-invalid=”false” aria-required=”true” class=”wpcf7-form-control wpcf7-text wpcf7-validates-as-required” name=”your-name” placeholder=”Name” size=”40″ type=”text” value=””/></span> </label>
</p>
<p><label> <span class=”wpcf7-form-control-wrap” data-name=”your-email”><input aria-invalid=”false” aria-required=”true” class=”wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email” name=”your-email” placeholder=”Email” size=”40″ type=”email” value=””/></span> </label>
</p>
<p><label> <span class=”wpcf7-form-control-wrap” data-name=”menu-219″><select aria-invalid=”false” aria-required=”true” class=”wpcf7-form-control wpcf7-select wpcf7-validates-as-required” name=”menu-219″><option value=””>Choose service</option><option value=”Advanced SEO”>Advanced SEO</option><option value=”AI Based SEO”>AI Based SEO</option><option value=”Advanced Digital Marketing”>Advanced Digital Marketing</option><option value=”Fully Managed SEO”>Fully Managed SEO</option><option value=”Web Design and Dev”>Web Design and Dev</option><option value=”Graphic Designing”>Graphic Designing</option><option value=”Advanced Link Building”>Advanced Link Building</option><option value=”Software Development”>Software Development</option><option value=”Conversion Rate Optimization”>Conversion Rate Optimization</option><option value=”Social Media Marketing”>Social Media Marketing</option><option value=”Google Penalty Recovery”>Google Penalty Recovery</option><option value=”Local SEO”>Local SEO</option><option value=”Content Marketing”>Content Marketing</option><option value=”Content Writing”>Content Writing</option></select></span> </label>
</p>
<p><label> <span class=”wpcf7-form-control-wrap” data-name=”menu-220″><select aria-invalid=”false” aria-required=”true” class=”wpcf7-form-control wpcf7-select wpcf7-validates-as-required” name=”menu-220″><option value=””>Select budget</option><option value=”$0 – $500″>$0 – $500</option><option value=”$500 -$1000″>$500 -$1000</option><option value=”$1000 – $1500″>$1000 – $1500</option><option value=”$1500 – $2500″>$1500 – $2500</option><option value=”$2501 – $3500″>$2501 – $3500</option><option value=”$3501 -$5000″>$3501 -$5000</option><option value=”$5001 -$10000″>$5001 -$10000</option><option value=”$10000 +”>$10000 +</option></select></span> </label>
</p>
<p><label> <span class=”wpcf7-form-control-wrap” data-name=”your-message”><textarea aria-invalid=”false” aria-required=”true” class=”wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required” cols=”40″ name=”your-message” placeholder=”Any comments” rows=”10″></textarea></span> </label>
</p>
<p><input class=”wpcf7-form-control wpcf7-submit has-spinner” type=”submit” value=”SUBMIT”/>
</p><div aria-hidden=”true” class=”wpcf7-response-output”></div>
</form>
</div>
</div>
<div class=”right-contact”>
<h2>GET IN TOUCH</h2>
<p>Fill out the contact form to reach our internet marketing experts in our company. If you want to inquire about affordable SEO packages or any other customized needs, please get in touch. We value and respond to each and every request that comes our way.</p>
</div>
</div>
</div>
</div>
</article>
</div><!– #mid –>
<footer class=”to-move narrow classic footer-separator” id=”footer”><div class=”foot-widgets five-col dark-sidebar”><div class=”foot-content clearfix”><div class=”widget widget_text” id=”text-26″><h3 class=”title”><span>Important Resources</span></h3> <div class=”textwidget”><p><a href=”https://thatware.co/privacy-policy/“>Privacy Policy</a><br>
<a href=”https://thatware.co/html-sitemap/“>HTML Sitemap</a><br>
<a href=”https://thatware.co/sitemap.xml“>XML Sitemap</a><br>
<a href=”https://thatware.co/whitepaper/“>WHITEPAPER</a><br>
<a href=”https://thatware.co/wp-content/uploads/2022/04/ThatWare-Corporate-Profile.pdf“>Company Deck</a><br>
<a href=”https://thatware.co/case-studies/“>Case Studies</a><br/>
<a href=”https://thatware.co/ai-implementations-seo/“>AI Implementations SEO</a><br/>
<a href=”https://thatware.co/ai-based-seo-blueprint/“>AI SEO Blueprint</a><br/>
<a href=”https://thatware.co/wp-content/uploads/2020/10/Mybettingdeals.com-Latest-Algorithm-update-presentation.pptx“>Algorithm Audit Sample</a><br/>
<a href=”https://www.youtube.com/watch?v=yE6bx2W3GU8“>AI-SEO Video</a></br></br></br></br></br></p>
<p style=”font-size: 13px; font-weight: 800; color: white;”>SEO KNOWLEDGE BASE</p>
<ul>
<li><a href=”https://thatware.co/google-indexifembedded-tag/“>New Robot’s Tag</a><a href=”https://thatware.co/advanced-seo/“> </a></li>
<li><a href=”https://thatware.co/linked-domains/“>Linked Domains</a><a href=”https://thatware.co/advanced-seo/“> </a><br/>
<a href=”https://thatware.co/social-media-poll/“>Social Media Polling </a><br/>
<a href=”https://thatware.co/image-geotagging/“>Image Geo-tagging </a></li>
<li><a href=”https://thatware.co/topic-cluster/“>Topic Clustering</a></li>
<li><a href=”https://thatware.co/google-page-title-update/“>Google Title Re-write</a><br/>
<a href=”https://thatware.co/google-story/“>Google Story </a></li>
<li><a href=”https://thatware.co/author-schema/“>Author Schema</a></li>
<li><a href=”https://thatware.co/faq-schema/“>FAQ Schema</a></li>
<li><a href=”https://thatware.co/xml-audit/“>XML Audit</a></li>
<li><a href=”https://thatware.co/edge-seo/“>Edge SEO</a></li>
<li><a href=”https://thatware.co/google-discover/“>Google Discover</a></li>
<li><a href=”https://thatware.co/favicon-optimization/“>Favicon Optimization</a></li>
<li><a href=”https://thatware.co/content-syndication/“>Content Syndication</a></li>
<li><a href=”https://thatware.co/google-analytics-goals/“>Goals in GA</a></li>
<li><a href=”https://thatware.co/domain-age/“>Domain Age</a></li>
<li><a href=”https://thatware.co/multilingual-seo/“>Multilingual SEO</a></li>
<li><a href=”https://thatware.co/share-of-voice/“>Share of Voice</a></li>
<li><a href=”https://thatware.co/url-inspection-api/“>URL INSPECTION API</a></li>
<li><a href=”https://thatware.co/sitewide-links/“>Sitewide Links</a></li>
<li><a href=”https://thatware.co/pogo-sticking/“>Pogo Sticking</a></li>
<li><a href=”https://thatware.co/crawler-directives/“>Crawler Directives</a></li>
<li><a href=”https://thatware.co/geographic-modifiers/“>Geographic Modifiers</a></li>
<li><a href=”https://thatware.co/5xx-status-codes/“>5xx Status Codes</a></li>
</ul>
<p style=”font-size: 13px; font-weight: 800; color: white;”>CORA SEO Sample</p>
<p><a href=”https://thatware.co/wp-content/uploads/2020/11/cora.pptx“>Download CORA report</a></p>
<p><img alt=”” class=”aligncenter size-thumbnail wp-image-21915″ data-lazy-src=”https://thatware.co/wp-content/uploads/2024/07/clutch-co-we-deliver-st-george-seo-mythicode-digital-marketing-150×150-1.webp” decoding=”async” height=”150″ src=”data:image/svg+xml,%3Csvg%20xmlns=’http://www.w3.org/2000/svg’%20viewBox=’0%200%20150%20150’%3E%3C/svg%3E” width=”150″><noscript><img alt=”” class=”aligncenter size-thumbnail wp-image-21915″ decoding=”async” height=”150″ loading=”lazy” src=”https://thatware.co/wp-content/uploads/2024/07/clutch-co-we-deliver-st-george-seo-mythicode-digital-marketing-150×150-1.webp” width=”150″/></noscript></img></p>
</div>
</div><div class=”widget widget_text” id=”text-27″><h3 class=”title”><span>Our Exclusive Services</span></h3> <div class=”textwidget”><p><a href=”https://thatware.co/digital-marketing-services/“>Digital Marketing</a><br/>
<a href=”https://thatware.co/link-building-services/“>Advanced Link Building</a><br/>
<a href=”https://thatware.co/advanced-seo-services/“>Advanced SEO</a><br/>
<a href=”https://thatware.co/ai-based-seo-services/“>AI Based SEO</a><br/>
<a href=”https://thatware.co/branding-press-release-services/“>Paid Marketing</a><br/>
<a href=”https://thatware.co/business-intelligence-services/“>Business Intelligence</a><br/>
<a href=”https://thatware.co/managed-seo/“>Fully Managed SEO</a><br/>
<a href=”https://thatware.co/starter-seo-services/“>One Time SEO</a><br/>
<a href=”https://thatware.co/conversion-rate-optimization/“>Conversion Funnel</a><br/>
<a href=”https://thatware.co/social-media-marketing/“>Social Media (SMM)</a><br/>
<a href=”https://thatware.co/google-penalty-recovery/“>Penalty Recovery</a><br/>
<a href=”https://thatware.co/local-business-seo-services/“>Local SEO (GMB)</a><br/>
<a href=”https://thatware.co/reseller-seo-services/“>Reseller SEO</a><br/>
<a href=”https://thatware.co/content-writing-services/“>Content Writing</a><br/>
<a href=”https://thatware.co/content-proofreading-services/“>Content Proofreading</a><br/>
<a href=”https://thatware.co/seo-consulting-services/“>SEO Consultation</a><br/>
<a href=”https://thatware.co/web-development-services/“>Web Development</a><br/>
<a href=”https://thatware.co/website-design-services/“>Web Designing</a><br/>
<a href=”https://thatware.co/chatbot-services/“>Chatbot Development</a><br/>
<a href=”https://thatware.co/ui-services/“>UI Development</a><br/>
<a href=”https://thatware.co/ux-services/“>UX Development</a><br/>
<a href=”https://thatware.co/app-development-services/“>App Development</a><br/>
<a href=”https://thatware.co/software-development-services/“>Software Development</a><br/>
<a href=”https://thatware.co/bug-testing-services/“>Bug Testing</a><br/>
<a href=”https://thatware.co/website-maintenance-services/“>Website Maintenance</a><br/>
<a href=”https://thatware.co/aws-managed-services/“>AWS Management</a><br/>
<a href=”https://thatware.co/technology-consulting-services/“>Tech Consultation</a><br/>
<a href=”https://thatware.co/graphic-design-services/“>Graphic Designing</a><br/>
<a href=”https://thatware.co/competitor-keyword-analysis/“>Competitor Research</a><br/>
<a href=”https://thatware.co/market-research-services/“>Market Research</a><br/>
<a href=”https://thatware.co/nlp-services/“>NLP and AI </a><br/>
<a href=”https://thatware.co/online-reputation-management/“>ORM</a></p>
<p style=”font-size: 13px; font-weight: 800; color: white;”>Work Flow’s</p>
<p><a href=”https://thatware.co/wp-content/uploads/2021/06/Extensive-SEO-Strategy.pptx“>Extensive SEO</a><br/>
<a href=”https://thatware.co/wp-content/uploads/2021/06/ThatWare-WorkFlow-Process.pptx“>Standard SEO</a><br/>
<a href=”https://thatware.co/wp-content/uploads/2021/06/ThatWare-AI-SEO-WorkFlow.pptx“>AI-Driven SEO</a><br/>
<a href=”https://thatware.co/wp-content/uploads/2021/06/Backlink-Extensive-Plan.pptx“>Backlink Technique’s</a><br/>
<a href=”https://thatware.co/wp-content/uploads/2021/06/ASO-Marketing-Strategy.pptx“>ASO WorkFlow</a></p>
<p><img alt=”” class=”aligncenter size-thumbnail wp-image-21911″ data-lazy-src=”https://thatware.co/wp-content/uploads/2024/07/Welby-Consulting-Top-Digital-Marketing-Company-GoodFirms-2019-150×150-1.webp” decoding=”async” height=”150″ src=”data:image/svg+xml,%3Csvg%20xmlns=’http://www.w3.org/2000/svg’%20viewBox=’0%200%20150%20150’%3E%3C/svg%3E” width=”150″><noscript><img alt=”” class=”aligncenter size-thumbnail wp-image-21911″ decoding=”async” height=”150″ loading=”lazy” src=”https://thatware.co/wp-content/uploads/2024/07/Welby-Consulting-Top-Digital-Marketing-Company-GoodFirms-2019-150×150-1.webp” width=”150″/></noscript></img></p>
</div>
</div><div class=”widget widget_text” id=”text-28″><h3 class=”title”><span>SEO Services by Industry</span></h3> <div class=”textwidget”><p><a href=”https://thatware.co/igaming-casino-seo-services/“>iGaming & Casino SEO</a><br/>
<a href=”https://thatware.co/accounting-firms-seo-services/“>SEO for Financial Industry</a><br/>
<a href=”https://thatware.co/law-firm-seo-services/“>SEO for legal services</a><br/>
<a href=”https://thatware.co/weight-loss-diet-seo-services/“>SEO for weight loss</a><br/>
<a href=”https://thatware.co/travel-seo-services/“>SEO for Travel</a><br/>
<a href=”https://thatware.co/real-estate-seo-services/“>SEO for real estate</a><br/>
<a href=”https://thatware.co/ecommerce-seo-services/“>SEO for ecommerce</a><br/>
<a href=”https://thatware.co/forex-seo-services/“>SEO for Forex</a><br/>
<a href=”https://thatware.co/cryptocurrency-seo-services/“>SEO for Crypto</a><br/>
<a href=”https://thatware.co/pharmaceutical-seo-services/“>SEO for Pharma</a><br/>
<a href=”https://thatware.co/cbd-seo-services/“>SEO for CBD</a><br/>
<a href=”https://thatware.co/seo-for-healthcare-industry/“>SEO for Health care</a><br/>
<a href=”https://thatware.co/dating-swinger-social-seo-services/“>SEO for Dating</a><br/>
<a href=”https://thatware.co/pets-seo-services/“>SEO for Pets</a><br/>
<a href=”https://thatware.co/seo-services-website-security/“>SEO for Cyber Security</a></p>
<p style=”font-size: 13px; font-weight: 800; color: white;”>Media Links</p>
<p><a href=”http://blog.stevieawards.com/blog/artificial-intelligence-advances-digital-marketing“>Stevie Awards</a><br/>
<a href=”https://www.hindustantimes.com/brand-post/thatware-pioneers-advanced-seo-with-ai-powered-digital-arketing/story-2Y5Yc80BBjUIJl3tOhiyOL.html“>Hindustan Times</a><br/>
<a href=”https://economictimes.indiatimes.com/tech/software/meet-tuhin-banik-guy-whos-changing-the-digital-marketing-landscape-using-artificial-intelligence/articleshow/68609758.cms“>Economic Times</a><br/>
<a href=”https://timesofindia.indiatimes.com/business/india-business/this-is-how-digital-marketing-is-getting-changed-with-the-help-of-artificial-intelligence/articleshow/69229197.cms“>Times Of India</a><br/>
<a href=”https://theceo.in/industry/thatware-an-innovator-of-digital-marketing-pushing-limits-with-artificial-intelligence/“>The CEO</a><br/>
<a href=”https://www.forbesindia.com/article/brand-connect/thatware-is-redefining-digital-marketing-with-artificial-intelligence/55681/1“>Forbes</a><br/>
<a href=”https://inc42.com/resources/ow-artificial-intelligence-is-redefining-the-face-of-ecommerce-marketing/“>Inc 42</a><br/>
<a href=”https://www.livemint.com/brand-post/thatware-innovates-digital-marketing-with-ai-and-deep-learning-modules-1558002426519.html“>Live Mint</a><br/>
<a href=”https://www.dailypioneer.com/2020/state-editions/tuhin-banik-bags-bronze-medal-at-int—l-business-awards-in-austria.html“>Pioneer</a><br/>
<a href=”https://www.businesswireindia.com/thatware-llp-plans-major-global-expansion-as-ai-based-digital-marketing-witnesses-unprecedented-growth-65587.html“>Business Wire</a></p>
<p style=”font-size: 13px; font-weight: 800; color: white;”>Verifications</p>
<p><img alt=”Google Certified” class=”aligncenter size-large wp-image-21913″ data-lazy-src=”https://thatware.co/wp-content/uploads/2024/07/google-certified-badge-1024×351-1.webp” decoding=”async” height=”274″ src=”data:image/svg+xml,%3Csvg%20xmlns=’http://www.w3.org/2000/svg’%20viewBox=’0%200%20800%20274’%3E%3C/svg%3E” width=”800″><noscript><img alt=”Google Certified” class=”aligncenter size-large wp-image-21913″ decoding=”async” height=”274″ loading=”lazy” src=”https://thatware.co/wp-content/uploads/2024/07/google-certified-badge-1024×351-1.webp” width=”800″/></noscript></img></p>
<p><img alt=”Google Partner” class=”aligncenter size-large wp-image-21912″ data-lazy-src=”https://thatware.co/wp-content/uploads/2024/07/february-19-2019-blog-1024×536-1.webp” decoding=”async” height=”419″ src=”data:image/svg+xml,%3Csvg%20xmlns=’http://www.w3.org/2000/svg’%20viewBox=’0%200%20800%20419’%3E%3C/svg%3E” width=”800″><noscript><img alt=”Google Partner” class=”aligncenter size-large wp-image-21912″ decoding=”async” height=”419″ loading=”lazy” src=”https://thatware.co/wp-content/uploads/2024/07/february-19-2019-blog-1024×536-1.webp” width=”800″/></noscript></img></p>
<p> </p>
<p><img alt=”Moz Certified” class=”aligncenter size-thumbnail wp-image-21916″ data-lazy-src=”https://thatware.co/wp-content/uploads/2024/07/60185feb9b28c8.46766414-150×150-1.webp” decoding=”async” height=”150″ src=”data:image/svg+xml,%3Csvg%20xmlns=’http://www.w3.org/2000/svg’%20viewBox=’0%200%20150%20150’%3E%3C/svg%3E” width=”150″><noscript><img alt=”Moz Certified” class=”aligncenter size-thumbnail wp-image-21916″ decoding=”async” height=”150″ loading=”lazy” src=”https://thatware.co/wp-content/uploads/2024/07/60185feb9b28c8.46766414-150×150-1.webp” width=”150″/></noscript></img></p>
</div>
</div><div class=”widget widget_text” id=”text-30″><h3 class=”title”><span>Indian State Based SEO Services</span></h3> <div class=”textwidget”><p><a href=”https://thatware.co/seo-company-india/“>SEO Services India</a><br/>
<a href=”https://thatware.co/seo-company-chennai/“>SEO Services Chennai</a><br/>
<a href=”https://thatware.co/seo-company-delhi/“>SEO Services Delhi</a><br/>
<a href=”https://thatware.co/seo-company-gurgaon/“>SEO Services Gurgaon</a><br/>
<a href=”https://thatware.co/seo-company-hyderabad/“>SEO Services Hyderabad</a><br/>
<a href=”https://thatware.co/seo-services-kolkata/“>SEO Services Kolkata</a><br/>
<a href=”https://thatware.co/seo-company-lucknow/“>SEO Services Lucknow</a><br/>
<a href=”https://thatware.co/seo-company-mumbai/“>SEO Services Mumbai</a><br/>
<a href=”https://thatware.co/seo-company-noida/“>SEO Services Noida</a><br/>
<a href=”https://thatware.co/seo-company-pune/“>SEO Services Pune</a><br/>
<a href=”https://thatware.co/seo-services-bangalore/“>SEO Services Bangalore</a><br/>
<a href=”https://thatware.co/seo-services-gujarat/“>SEO Services Gujarat</a><br/>
<a href=”https://thatware.co/seo-services-ahmedabad/“>SEO Ahmedabad</a><br/>
<a href=”https://thatware.co/seo-services-surat/“>SEO Services Surat</a><br/>
<a href=”https://thatware.co/seo-company-tamil-nadu/“>SEO Services Tamil Nadu</a></p>
<p style=”font-size: 13px; font-weight: 800; color: white;”>Country Based SEO Services</p>
<p><a href=”https://thatware.co/seo-services-australia/“>SEO Services Australia</a><br/>
<a href=”https://thatware.co/seo-services-canada/“>SEO Services Canada</a><br/>
<a href=”https://thatware.co/seo-services-europe/“>SEO Services Europe</a><br/>
<a href=”https://thatware.co/seo-services-israel/“>SEO Services Israel </a><br/>
<a href=”https://thatware.co/seo-services-new-zealand/“>SEO Services NZ</a><br/>
<a href=”https://thatware.co/seo-services-south-africa/“>SEO Services Africa</a><br/>
<a href=”https://thatware.co/seo-services-uae/“>SEO Services UAE</a><br/>
<a href=”https://thatware.co/seo-services-uk/“>SEO Services UK</a><br/>
<a href=”https://thatware.co/seo-services-usa/“>SEO Services USA</a></p>
<p style=”font-size: 13px; font-weight: 800; color: white;”>DIY SEO Practices</p>
<p><a href=”https://thatware.co/onpage-seo-trends/“>DIY on-page SEO </a><br/>
<a href=”https://thatware.co/offpage-seo-trends/“>DIY off-page SEO</a><br/>
<a href=”https://thatware.co/google-my-business/“>DIY GMB Guide</a><br/>
<a href=”https://thatware.co/technical-seo/“>DIY Tech SEO</a></p>
<p style=”font-size: 13px; font-weight: 800; color: white;”>Our Strategy Partner</p>
<p><a href=”https://thatware.io/“>THATWARE IO</a></p>
<p style=”font-size: 13px; font-weight: 800; color: white;”>Our AI-SEO Tool</p>
<p><a href=”https://www.webtool.co/“>WebTool</a></p>
<p><img alt=”Hubspot certified” class=”aligncenter size-full wp-image-21919″ data-lazy-src=”https://thatware.co/wp-content/uploads/2024/07/HubSpot-Platinum-Partner-Badge-copy.webp” decoding=”async” height=”366″ src=”data:image/svg+xml,%3Csvg%20xmlns=’http://www.w3.org/2000/svg’%20viewBox=’0%200%20500%20366’%3E%3C/svg%3E” width=”500″><noscript><img alt=”Hubspot certified” class=”aligncenter size-full wp-image-21919″ decoding=”async” height=”366″ loading=”lazy” src=”https://thatware.co/wp-content/uploads/2024/07/HubSpot-Platinum-Partner-Badge-copy.webp” width=”500″/></noscript></img></p>
</div>
</div><div class=”widget widget_text” id=”text-21″><h3 class=”title”><span>ADDress</span></h3> <div class=”textwidget”><p style=”font-size: 13px; font-weight: 800; color: white;”>India Office 1:</p>
<div class=”contact-address”>ThatWare LLP, Arunava Sarani, Sukriti Apartment – G Floor, North Ghosh Para, Bally, Howrah – 711227 Nearest Landmark:- Bally Halt Utsav Lodge</div>
<div></div>
<p style=”font-size: 13px; font-weight: 800; color: white;”>India Office 2:</p>
<div class=”contact-address”>ThatWare LLP, DC Neogi Road, Srijoni Apartment – G Floor, North Ghosh Para, Bally, Howrah – 711227</div>
<div class=”contact-phone”><i class=”fa fa-phone”></i><a href=”tel:+91-7044080698″>+91-7044080698</a></div>
<div></div>
<div class=”contact-email”><i class=”fa fa-envelope”></i><a href=”info@thatware.co”>info@thatware.co</a></div>
<div></div>
<div>
<p style=”font-size: 13px; font-weight: 800; color: white;”>Dubai ADDRESS :</p>
<p>Al Asayel St – Al Furjan – Dubai – United Arab Emirates</p>
<p>GMZ-F01-104, Danube Gemz</p>
<p style=”font-size: 13px; font-weight: 800; color: white;”>UK ADDRESS :</p>
<p>71-75 Shelton Street Covent Garden London WC2H 9JQ ENGLAND</p>
</div>
<div></div>
<p style=”font-size: 13px; font-weight: 800; color: white;”>Our AI-SEO technology is Patent protected with Patent Filing Number: 202131021713</p>
<p style=”font-size: 13px; font-weight: 800; color: white;”>Thatware LLP is also protected under Intellectual property: CBR IP 6979</p>
<p><img alt=”thatware iso certificate” class=”aligncenter size-full wp-image-21910″ data-lazy-src=”https://thatware.co/wp-content/uploads/2022/10/ThatWare-ISO.webp” decoding=”async” height=”200″ src=”data:image/svg+xml,%3Csvg%20xmlns=’http://www.w3.org/2000/svg’%20viewBox=’0%200%20200%20200’%3E%3C/svg%3E” width=”200″><noscript><img alt=”thatware iso certificate” class=”aligncenter size-full wp-image-21910″ decoding=”async” height=”200″ loading=”lazy” src=”https://thatware.co/wp-content/uploads/2022/10/ThatWare-ISO.webp” width=”200″/></noscript></img></p>
</div>
</div></div>
</div> <div class=”foot-items”>
<div class=”foot-content clearfix”>
<div class=”f-links”><div class=”socials icons-only white white_hover”><a class=”a13_soc-sharethis fa fa-share-alt” href=”https://g.co/kgs/K15yZL” rel=”noopener” target=”_blank” title=”Sharethis”></a><a class=”a13_soc-facebook fa fa-facebook” href=”https://www.facebook.com/thatware.co” rel=”noopener” target=”_blank” title=”Facebook”></a><a class=”a13_soc-instagram fa fa-instagram” href=”https://www.instagram.com/thatware.co/” rel=”noopener” target=”_blank” title=”Instagram”></a><a class=”a13_soc-linkedin fa fa-linkedin” href=”https://in.linkedin.com/in/tuhin-banik” rel=”noopener” target=”_blank” title=”Linkedin”></a><a class=”a13_soc-pinterest fa fa-pinterest-p” href=”https://www.pinterest.com/thatwarellp/” rel=”noopener” target=”_blank” title=”Pinterest”></a><a class=”a13_soc-skype fa fa-skype” href=”” rel=”noopener” target=”_blank” title=”Skype”></a><a class=”a13_soc-twitter fa fa-twitter” href=”https://twitter.com/thatware” rel=”noopener” target=”_blank” title=”Twitter”></a><a class=”a13_soc-youtube fa fa-youtube” href=”https://www.youtube.com/TuhinBanika2z/videos” rel=”noopener” target=”_blank” title=”YouTube”></a></div></div><div class=”foot-text”>COPYRIGHT 2017 – 2024 @ THATWARE LLP & TUHIN BANIK PROPRIETOR (Reg no: AAQ-0064, GSTIN: 19CGJPB6316H1ZF, MSME: UDYAM-WB-08-000602, TAX ID: CGJPB6316H & AAOFT7728G)</div> </div>
</div>
</footer> <nav class=”side-widget-menu light-sidebar at-right” id=”side-menu”>
<div class=”scroll-wrap”>
<div class=”widget widget_a13_social_icons” id=”a13-social-icons-3″><div class=”socials icons-only color black_hover”><a class=”a13_soc-sharethis fa fa-share-alt” href=”https://g.co/kgs/K15yZL” rel=”noopener” target=”_blank” title=”Sharethis”></a><a class=”a13_soc-facebook fa fa-facebook” href=”https://www.facebook.com/thatware.co” rel=”noopener” target=”_blank” title=”Facebook”></a><a class=”a13_soc-instagram fa fa-instagram” href=”https://www.instagram.com/thatware.co/” rel=”noopener” target=”_blank” title=”Instagram”></a><a class=”a13_soc-linkedin fa fa-linkedin” href=”https://in.linkedin.com/in/tuhin-banik” rel=”noopener” target=”_blank” title=”Linkedin”></a><a class=”a13_soc-pinterest fa fa-pinterest-p” href=”https://www.pinterest.com/thatwarellp/” rel=”noopener” target=”_blank” title=”Pinterest”></a><a class=”a13_soc-skype fa fa-skype” href=”” rel=”noopener” target=”_blank” title=”Skype”></a><a class=”a13_soc-twitter fa fa-twitter” href=”https://twitter.com/thatware” rel=”noopener” target=”_blank” title=”Twitter”></a><a class=”a13_soc-youtube fa fa-youtube” href=”https://www.youtube.com/TuhinBanika2z/videos” rel=”noopener” target=”_blank” title=”YouTube”></a></div></div><div class=”widget widget_text” id=”text-4″><h3 class=”title”><span>About This Sidebar</span></h3> <div class=”textwidget”>You can quickly hide this sidebar by removing widgets from the Hidden Sidebar Settings.</div>
</div><div class=”widget widget_recent_posts widget_about_posts” id=”recent-posts-5″><h3 class=”title”><span>Recent Posts</span></h3><div class=”item”><a class=”post-title” href=”https://thatware.co/extensive-backlinks-seo-tactics/” title=”Advanced Backlink Strategies: Boosting Your SEO with Podcasts, Google Stacking, Foundation Backlinks, and More”>Advanced Backlink Strategies: Boosting Your SEO with Podcasts, Google Stacking, Foundation Backlinks, and More</a><time class=”entry-date published updated” datetime=”2024-08-06T10:16:51+00:00″>August 6, 2024</time> </div><div class=”item”><a class=”post-title” href=”https://thatware.co/preload-protocol-for-better-seo-and-faster-websites/” title=”Preload Protocol Explained: A Key Tool for Better SEO and Faster Websites”>Preload Protocol Explained: A Key Tool for Better SEO and Faster Websites</a><time class=”entry-date published updated” datetime=”2024-08-05T11:10:09+00:00″>August 5, 2024</time> </div><div class=”item”><a class=”post-title” href=”https://thatware.co/adding-schema-markup-to-a-knowledge-graph/” title=”Adding Schema Markup to a Knowledge Graph from Rich Results”>Adding Schema Markup to a Knowledge Graph from Rich Results</a><time class=”entry-date published updated” datetime=”2024-07-29T12:28:20+00:00″>July 29, 2024</time> </div></div><div class=”widget widget_categories” id=”categories-5″><h3 class=”title”><span>Categories</span></h3>
<ul>
<li class=”cat-item cat-item-1″><a href=”https://thatware.co/category/all-blogs/“>All Blogs</a>
</li>
<li class=”cat-item cat-item-34″><a href=”https://thatware.co/category/blog/“>Blog</a>
</li>
<li class=”cat-item cat-item-1065″><a href=”https://thatware.co/category/seo-company/“>SEO company</a>
</li>
</ul>
</div><div class=”widget widget_meta” id=”meta-5″><h3 class=”title”><span>Meta</span></h3>
<ul>
<li><a href=”https://thatware.co/wp-login.php” rel=”nofollow”>Log in</a></li>
<li><a href=”https://thatware.co/feed/“>Entries feed</a></li>
<li><a href=”https://thatware.co/comments/feed/“>Comments feed</a></li>
<li><a href=”https://wordpress.org/“>WordPress.org</a></li>
</ul>
</div> </div>
<span class=”a13icon-cross close-sidebar”></span>
</nav>
<a class=”to-top fa fa-angle-up” href=”#top” id=”to-top”></a>
<div class=”to-move” id=”content-overlay”></div>
</div><!– .whole-layout –>
<div id=”wa”></div><link data-minify=”1″ href=”https://thatware.co/wp-content/cache/min/1/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=1720709660” id=”contact-form-7-css” media=”all” rel=”stylesheet” type=”text/css”>
<script data-rocket-type=”text/javascript” id=”rocket-browser-checker-js-after” type=”rocketlazyloadscript”>
/* <![CDATA[ */
“use strict”;var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,”value”in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError(“Cannot call a class as a function”)}var RocketBrowserCompatibilityChecker=function(){function RocketBrowserCompatibilityChecker(options){_classCallCheck(this,RocketBrowserCompatibilityChecker),this.passiveSupported=!1,this._checkPassiveOption(this),this.options=!!this.passiveSupported&&options}return _createClass(RocketBrowserCompatibilityChecker,[{key:”_checkPassiveOption”,value:function(self){try{var options={get passive(){return!(self.passiveSupported=!0)}};window.addEventListener(“test”,null,options),window.removeEventListener(“test”,null,options)}catch(err){self.passiveSupported=!1}}},{key:”initRequestIdleCallback”,value:function(){!1 in window&&(window.requestIdleCallback=function(cb){var start=Date.now();return setTimeout(function(){cb({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-start))}})},1)}),!1 in window&&(window.cancelIdleCallback=function(id){return clearTimeout(id)})}},{key:”isDataSaverModeOn”,value:function(){return”connection”in navigator&&!0===navigator.connection.saveData}},{key:”supportsLinkPrefetch”,value:function(){var elem=document.createElement(“link”);return elem.relList&&elem.relList.supports&&elem.relList.supports(“prefetch”)&&window.IntersectionObserver&&”isIntersecting”in IntersectionObserverEntry.prototype}},{key:”isSlowConnection”,value:function(){return”connection”in navigator&&”effectiveType”in navigator.connection&&(“2g”===navigator.connection.effectiveType||”slow-2g”===navigator.connection.effectiveType)}}]),RocketBrowserCompatibilityChecker}();
/* ]]> */
</script>
<script id=”rocket-preload-links-js-extra” type=”text/javascript”>
/* <![CDATA[ */
var RocketPreloadLinksConfig = {“excludeUris”:”\/(?:.+\/)?feed(?:\/(?:.+\/?)?)?$|\/(?:.+\/)?embed\/|\/(index.php\/)?(.*)wp-json(\/.*|$)|\/refer\/|\/go\/|\/recommend\/|\/recommends\/”,”usesTrailingSlash”:”1″,”imageExt”:”jpg|jpeg|gif|png|tiff|bmp|webp|avif|pdf|doc|docx|xls|xlsx|php”,”fileExt”:”jpg|jpeg|gif|png|tiff|bmp|webp|avif|pdf|doc|docx|xls|xlsx|php|html|htm”,”siteUrl”:”https:\/\/thatware.co”,”onHoverDelay”:”100″,”rateThrottle”:”3″};
/* ]]> */
</script>
<script data-rocket-type=”text/javascript” id=”rocket-preload-links-js-after” type=”rocketlazyloadscript”>
/* <![CDATA[ */
(function() {
“use strict”;var r=”function”==typeof Symbol&&”symbol”==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&”function”==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?”symbol”:typeof e},e=function(){function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,”value”in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),e}}();function i(e,t){if(!(e instanceof t))throw new TypeError(“Cannot call a class as a function”)}var t=function(){function n(e,t){i(this,n),this.browser=e,this.config=t,this.options=this.browser.options,this.prefetched=new Set,this.eventTime=null,this.threshold=1111,this.numOnHover=0}return e(n,[{key:”init”,value:function(){!this.browser.supportsLinkPrefetch()||this.browser.isDataSaverModeOn()||this.browser.isSlowConnection()||(this.regex={excludeUris:RegExp(this.config.excludeUris,”i”),images:RegExp(“.(“+this.config.imageExt+”)$”,”i”),fileExt:RegExp(“.(“+this.config.fileExt+”)$”,”i”)},this._initListeners(this))}},{key:”_initListeners”,value:function(e){-1<this.config.onHoverDelay&&document.addEventListener(“mouseover”,e.listener.bind(e),e.listenerOptions),document.addEventListener(“mousedown”,e.listener.bind(e),e.listenerOptions),document.addEventListener(“touchstart”,e.listener.bind(e),e.listenerOptions)}},{key:”listener”,value:function(e){var t=e.target.closest(“a”),n=this._prepareUrl(t);if(null!==n)switch(e.type){case”mousedown”:case”touchstart”:this._addPrefetchLink(n);break;case”mouseover”:this._earlyPrefetch(t,n,”mouseout”)}}},{key:”_earlyPrefetch”,value:function(t,e,n){var i=this,r=setTimeout(function(){if(r=null,0===i.numOnHover)setTimeout(function(){return i.numOnHover=0},1e3);else if(i.numOnHover>i.config.rateThrottle)return;i.numOnHover++,i._addPrefetchLink(e)},this.config.onHoverDelay);t.addEventListener(n,function e(){t.removeEventListener(n,e,{passive:!0}),null!==r&&(clearTimeout(r),r=null)},{passive:!0})}},{key:”_addPrefetchLink”,value:function(i){return this.prefetched.add(i.href),new Promise(function(e,t){var n=document.createElement(“link”);n.rel=”prefetch”,n.href=i.href,n.onload=e,n.onerror=t,document.head.appendChild(n)}).catch(function(){})}},{key:”_prepareUrl”,value:function(e){if(null===e||”object”!==(void 0===e?”undefined”:r(e))||!1 in e||-1===[“http:”,”https:”].indexOf(e.protocol))return null;var t=e.href.substring(0,this.config.siteUrl.length),n=this._getPathname(e.href,t),i={original:e.href,protocol:e.protocol,origin:t,pathname:n,href:t+n};return this._isLinkOk(i)?i:null}},{key:”_getPathname”,value:function(e,t){var n=t?e.substring(this.config.siteUrl.length):e;return n.startsWith(“/”)||(n=”/”+n),this._shouldAddTrailingSlash(n)?n+”/”:n}},{key:”_shouldAddTrailingSlash”,value:function(e){return this.config.usesTrailingSlash&&!e.endsWith(“/”)&&!this.regex.fileExt.test(e)}},{key:”_isLinkOk”,value:function(e){return null!==e&&”object”===(void 0===e?”undefined”:r(e))&&(!this.prefetched.has(e.href)&&e.origin===this.config.siteUrl&&-1===e.href.indexOf(“?”)&&-1===e.href.indexOf(“#”)&&!this.regex.excludeUris.test(e.href)&&!this.regex.images.test(e.href))}}],[{key:”run”,value:function(){“undefined”!=typeof RocketPreloadLinksConfig&&new n(new RocketBrowserCompatibilityChecker({capture:!0,passive:!0}),RocketPreloadLinksConfig).init()}}]),n}();t.run();
}());
/* ]]> */
</script>
<script data-minify=”1″ data-rocket-src=”https://thatware.co/wp-content/cache/min/1/wp-content/plugins/wp-whatsapp/assets/dist/js/njt-whatsapp.js?ver=1720709660” data-rocket-type=”text/javascript” defer=”defer” id=”nta-wa-libs-js” type=”rocketlazyloadscript”></script>
<script id=”nta-js-global-js-extra” type=”text/javascript”>
/* <![CDATA[ */
var njt_wa_global = {“ajax_url”:”https:\/\/thatware.co\/wp-admin\/admin-ajax.php”,”nonce”:”95c427176f”,”defaultAvatarSVG”:”<svg width=\”48px\” height=\”48px\” class=\”nta-whatsapp-default-avatar\” version=\”1.1\” id=\”Layer_1\” xmlns=\”http:\/\/www.w3.org\/2000\/svg\” xmlns:xlink=\”http:\/\/www.w3.org\/1999\/xlink\” x=\”0px\” y=\”0px\”\n viewBox=\”0 0 512 512\” style=\”enable-background:new 0 0 512 512;\” xml:space=\”preserve\”>\n <path style=\”fill:#EDEDED;\” d=\”M0,512l35.31-128C12.359,344.276,0,300.138,0,254.234C0,114.759,114.759,0,255.117,0\n S512,114.759,512,254.234S395.476,512,255.117,512c-44.138,0-86.51-14.124-124.469-35.31L0,512z\”\/>\n <path style=\”fill:#55CD6C;\” d=\”M137.71,430.786l7.945,4.414c32.662,20.303,70.621,32.662,110.345,32.662\n c115.641,0,211.862-96.221,211.862-213.628S371.641,44.138,255.117,44.138S44.138,137.71,44.138,254.234\n c0,40.607,11.476,80.331,32.662,113.876l5.297,7.945l-20.303,74.152L137.71,430.786z\”\/>\n <path style=\”fill:#FEFEFE;\” d=\”M187.145,135.945l-16.772-0.883c-5.297,0-10.593,1.766-14.124,5.297\n c-7.945,7.062-21.186,20.303-24.717,37.959c-6.179,26.483,3.531,58.262,26.483,90.041s67.09,82.979,144.772,105.048\n c24.717,7.062,44.138,2.648,60.028-7.062c12.359-7.945,20.303-20.303,22.952-33.545l2.648-12.359\n c0.883-3.531-0.883-7.945-4.414-9.71l-55.614-25.6c-3.531-1.766-7.945-0.883-10.593,2.648l-22.069,28.248\n c-1.766,1.766-4.414,2.648-7.062,1.766c-15.007-5.297-65.324-26.483-92.69-79.448c-0.883-2.648-0.883-5.297,0.883-7.062\n l21.186-23.834c1.766-2.648,2.648-6.179,1.766-8.828l-25.6-57.379C193.324,138.593,190.676,135.945,187.145,135.945\”\/>\n <\/svg>”,”defaultAvatarUrl”:”https:\/\/thatware.co\/wp-content\/plugins\/wp-whatsapp\/assets\/img\/whatsapp_logo.svg”,”timezone”:”+00:00″,”i18n”:{“online”:”Online”,”offline”:”Offline”},”urlSettings”:{“onDesktop”:”api”,”onMobile”:”api”,”openInNewTab”:”ON”}};
/* ]]> */
</script>
<script data-minify=”1″ data-rocket-src=”https://thatware.co/wp-content/cache/min/1/wp-content/plugins/wp-whatsapp/assets/js/whatsapp-button.js?ver=1720709660” data-rocket-type=”text/javascript” defer=”defer” id=”nta-js-global-js” type=”rocketlazyloadscript”></script>
<script data-rocket-src=”https://www.google.com/recaptcha/api.js?render=6LdlhVIeAAAAAN4haYK-uG8pWjEzRLnNd8NyE3wB&ver=3.0” data-rocket-type=”text/javascript” defer=”defer” id=”google-recaptcha-js” type=”rocketlazyloadscript”></script>
<script data-rocket-src=”https://thatware.co/wp-includes/js/dist/vendor/wp-polyfill-inert.min.js?ver=3.1.2” data-rocket-type=”text/javascript” defer=”defer” id=”wp-polyfill-inert-js” type=”rocketlazyloadscript”></script>
<script data-rocket-src=”https://thatware.co/wp-includes/js/dist/vendor/regenerator-runtime.min.js?ver=0.14.0” data-rocket-type=”text/javascript” defer=”defer” id=”regenerator-runtime-js” type=”rocketlazyloadscript”></script>
<script data-rocket-src=”https://thatware.co/wp-includes/js/dist/vendor/wp-polyfill.min.js?ver=3.15.0” data-rocket-type=”text/javascript” defer=”defer” id=”wp-polyfill-js” type=”rocketlazyloadscript”></script>
<script id=”wpcf7-recaptcha-js-extra” type=”text/javascript”>
/* <![CDATA[ */
var wpcf7_recaptcha = {“sitekey”:”6LdlhVIeAAAAAN4haYK-uG8pWjEzRLnNd8NyE3wB”,”actions”:{“homepage”:”homepage”,”contactform”:”contactform”}};
/* ]]> */
</script>
<script data-minify=”1″ data-rocket-src=”https://thatware.co/wp-content/cache/min/1/wp-content/plugins/contact-form-7/modules/recaptcha/index.js?ver=1720709660” data-rocket-type=”text/javascript” defer=”defer” id=”wpcf7-recaptcha-js” type=”rocketlazyloadscript”></script>
<script id=”apollo13framework-plugins-js-extra” type=”text/javascript”>
/* <![CDATA[ */
var ApolloParams = {“ajaxurl”:”https:\/\/thatware.co\/wp-admin\/admin-ajax.php”,”site_url”:”https:\/\/thatware.co\/”,”defimgurl”:”https:\/\/thatware.co\/wp-content\/themes\/rife-free\/images\/holders\/photo.png”,”options_name”:”apollo13_option_rife”,”load_more”:”Load more”,”loading_items”:”Loading next items”,”anchors_in_bar”:””,”scroll_to_anchor”:”1″,”writing_effect_mobile”:””,”writing_effect_speed”:”90″,”hide_content_under_header”:”content”,”default_header_variant”:”normal”,”header_sticky_top_bar”:””,”header_color_variants”:”on”,”show_header_at”:”0″,”header_normal_social_colors”:”white|color_hover|color|color_hover”,”header_light_social_colors”:”semi-transparent|color_hover|color|color_hover”,”header_dark_social_colors”:”semi-transparent|color_hover|color|color_hover”,”header_sticky_social_colors”:”white|color_hover|color|color_hover”,”close_mobile_menu_on_click”:”1″,”menu_overlay_on_click”:””,”allow_mobile_menu”:”1″,”submenu_opener”:”fa-angle-down”,”submenu_closer”:”fa-angle-up”,”submenu_third_lvl_opener”:”fa-angle-right”,”submenu_third_lvl_closer”:”fa-angle-left”,”posts_layout_mode”:”fitRows”,”products_brick_margin”:”0″,”products_layout_mode”:”packery”,”albums_list_layout_mode”:”packery”,”album_bricks_thumb_video”:””,”works_list_layout_mode”:”packery”,”work_bricks_thumb_video”:””,”people_list_layout_mode”:”fitRows”,”lg_lightbox_share”:”1″,”lg_lightbox_controls”:”1″,”lg_lightbox_download”:””,”lg_lightbox_counter”:”1″,”lg_lightbox_thumbnail”:”1″,”lg_lightbox_show_thumbs”:””,”lg_lightbox_autoplay”:”1″,”lg_lightbox_autoplay_open”:””,”lg_lightbox_progressbar”:”1″,”lg_lightbox_full_screen”:”1″,”lg_lightbox_zoom”:”1″,”lg_lightbox_mode”:”lg-slide”,”lg_lightbox_speed”:”600″,”lg_lightbox_preload”:”1″,”lg_lightbox_hide_delay”:”2000″,”lg_lightbox_autoplay_pause”:”5000″,”lightbox_single_post”:””};
/* ]]> */
</script>
<script data-rocket-src=”https://thatware.co/wp-content/themes/rife-free/js/helpers.min.js?ver=2.4.9” data-rocket-type=”text/javascript” defer=”defer” id=”apollo13framework-plugins-js” type=”rocketlazyloadscript”></script>
<script data-rocket-src=”https://thatware.co/wp-content/themes/rife-free/js/jquery.fitvids.min.js?ver=1.1” data-rocket-type=”text/javascript” defer=”defer” id=”jquery-fitvids-js” type=”rocketlazyloadscript”></script>
<script data-rocket-src=”https://thatware.co/wp-content/themes/rife-free/js/jquery.fittext.min.js?ver=1.2” data-rocket-type=”text/javascript” defer=”defer” id=”jquery-fittext-js” type=”rocketlazyloadscript”></script>
<script data-rocket-src=”https://thatware.co/wp-content/themes/rife-free/js/jquery.slides.min.js?ver=3.0.4” data-rocket-type=”text/javascript” defer=”defer” id=”jquery-slides-js” type=”rocketlazyloadscript”></script>
<script data-rocket-src=”https://thatware.co/wp-content/themes/rife-free/js/jquery.sticky-kit.min.js?ver=1.1.2” data-rocket-type=”text/javascript” defer=”defer” id=”jquery-sticky-kit-js” type=”rocketlazyloadscript”></script>
<script data-rocket-src=”https://thatware.co/wp-content/themes/rife-free/js/jquery.mousewheel.min.js?ver=3.1.13” data-rocket-type=”text/javascript” defer=”defer” id=”jquery-mousewheel-js” type=”rocketlazyloadscript”></script>
<script data-rocket-src=”https://thatware.co/wp-content/themes/rife-free/js/typed.min.js?ver=1.1.4” data-rocket-type=”text/javascript” defer=”defer” id=”jquery-typed-js” type=”rocketlazyloadscript”></script>
<script data-rocket-src=”https://thatware.co/wp-content/themes/rife-free/js/isotope.pkgd.min.js?ver=3.0.6” data-rocket-type=”text/javascript” defer=”defer” id=”apollo13framework-isotope-js” type=”rocketlazyloadscript”></script>
<script data-rocket-src=”https://thatware.co/wp-content/themes/rife-free/js/light-gallery/js/lightgallery-all.min.js?ver=1.6.9” data-rocket-type=”text/javascript” defer=”defer” id=”jquery-lightgallery-js” type=”rocketlazyloadscript”></script>
<script data-rocket-src=”https://thatware.co/wp-content/themes/rife-free/js/script.min.js?ver=2.4.9” data-rocket-type=”text/javascript” defer=”defer” id=”apollo13framework-scripts-js” type=”rocketlazyloadscript”></script>
<script data-minify=”1″ data-rocket-src=”https://thatware.co/wp-content/cache/min/1/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=1720709660” data-rocket-type=”text/javascript” defer=”defer” id=”swv-js” type=”rocketlazyloadscript”></script>
<script id=”contact-form-7-js-extra” type=”text/javascript”>
/* <![CDATA[ */
var wpcf7 = {“api”:{“root”:”https:\/\/thatware.co\/wp-json\/”,”namespace”:”contact-form-7\/v1″},”cached”:”1″};
/* ]]> */
</script>
<script data-minify=”1″ data-rocket-src=”https://thatware.co/wp-content/cache/min/1/wp-content/plugins/contact-form-7/includes/js/index.js?ver=1720709660” data-rocket-type=”text/javascript” defer=”defer” id=”contact-form-7-js” type=”rocketlazyloadscript”></script>
<script id=”nta-js-popup-js-extra” type=”text/javascript”>
/* <![CDATA[ */
var njt_wa = {“gdprStatus”:””,”accounts”:[{“accountId”:14711,”accountName”:”Tuhin Banik”,”avatar”:””,”number”:”+917044080698″,”title”:””,”predefinedText”:””,”willBeBackText”:”I will be back in [njwa_time_work]”,”dayOffsText”:”I will be back soon”,”isAlwaysAvailable”:”ON”,”daysOfWeekWorking”:{“sunday”:{“isWorkingOnDay”:”OFF”,”workHours”:[{“startTime”:”08:00″,”endTime”:”17:30″}]},”monday”:{“isWorkingOnDay”:”OFF”,”workHours”:[{“startTime”:”08:00″,”endTime”:”17:30″}]},”tuesday”:{“isWorkingOnDay”:”OFF”,”workHours”:[{“startTime”:”08:00″,”endTime”:”17:30″}]},”wednesday”:{“isWorkingOnDay”:”OFF”,”workHours”:[{“startTime”:”08:00″,”endTime”:”17:30″}]},”thursday”:{“isWorkingOnDay”:”OFF”,”workHours”:[{“startTime”:”08:00″,”endTime”:”17:30″}]},”friday”:{“isWorkingOnDay”:”OFF”,”workHours”:[{“startTime”:”08:00″,”endTime”:”17:30″}]},”saturday”:{“isWorkingOnDay”:”OFF”,”workHours”:[{“startTime”:”08:00″,”endTime”:”17:30″}]}}}],”options”:{“display”:{“displayCondition”:”includePages”,”includePages”:[“19623″,”19605″,”19444″,”19415″,”19334″,”19320″,”19315″,”19283″,”19239″,”19225″,”19221″,”19169″,”19166″,”19159″,”19028″,”19024″,”19020″,”19017″,”19014″,”19011″,”18988″,”18981″,”18978″,”18973″,”18968″,”18961″,”18942″,”18582″,”18486″,”18483″,”18481″,”18479″,”18476″,”18468″,”18465″,”18461″,”18458″,”18453″,”18449″,”18426″,”18424″,”18421″,”18419″,”18417″,”18414″,”18409″,”18394″,”18371″,”18364″,”18360″,”18353″,”18346″,”18160″,”15316″],”excludePages”:[],”includePosts”:[],”showOnDesktop”:”ON”,”showOnMobile”:”ON”,”time_symbols”:”h:m”},”styles”:{“title”:”Start a Conversation”,”responseText”:”The team typically replies in a few minutes.”,”description”:”Hi! Click one of our member below to chat on <strong>Whatsapp<\/strong>”,”backgroundColor”:”#2db742″,”textColor”:”#fff”,”titleSize”:18,”accountNameSize”:14,”descriptionTextSize”:12,”regularTextSize”:11,”scrollHeight”:”500″,”isShowScroll”:”OFF”,”isShowResponseText”:”OFF”,”isShowPoweredBy”:”ON”,”btnLabel”:””,”btnLabelWidth”:”156″,”btnPosition”:”right”,”btnLeftDistance”:”30″,”btnRightDistance”:”12″,”btnBottomDistance”:”85″,”isShowBtnLabel”:”OFF”,”isShowGDPR”:”OFF”,”gdprContent”:”Please accept our <a href=\”https:\/\/ninjateam.org\/privacy-policy\/\”>privacy policy<\/a> first to start a conversation.”},”analytics”:{“enabledGoogle”:”OFF”,”enabledFacebook”:”OFF”,”enabledGoogleGA4″:”OFF”,”position”:”after_atc”,”isShow”:”OFF”}}};
/* ]]> */
</script>
<script data-minify=”1″ data-rocket-src=”https://thatware.co/wp-content/cache/min/1/wp-content/plugins/wp-whatsapp/assets/js/whatsapp-popup.js?ver=1720709681” data-rocket-type=”text/javascript” defer=”defer” id=”nta-js-popup-js” type=”rocketlazyloadscript”></script>
<script>window.lazyLoadOptions = [{
elements_selector: “img[data-lazy-src],.rocket-lazyload,iframe[data-lazy-src]”,
data_src: “lazy-src”,
data_srcset: “lazy-srcset”,
data_sizes: “lazy-sizes”,
class_loading: “lazyloading”,
class_loaded: “lazyloaded”,
threshold: 300,
callback_loaded: function(element) {
if ( element.tagName === “IFRAME” && element.dataset.rocketLazyload == “fitvidscompatible” ) {
if (element.classList.contains(“lazyloaded”) ) {
if (typeof window.jQuery != “undefined”) {
if (jQuery.fn.fitVids) {
jQuery(element).parent().fitVids();
}
}
}
}
}},{
elements_selector: “.rocket-lazyload”,
data_src: “lazy-src”,
data_srcset: “lazy-srcset”,
data_sizes: “lazy-sizes”,
class_loading: “lazyloading”,
class_loaded: “lazyloaded”,
threshold: 300,
}];
window.addEventListener(‘LazyLoad::Initialized’, function (e) {
var lazyLoadInstance = e.detail.instance;
if (window.MutationObserver) {
var observer = new MutationObserver(function(mutations) {
var image_count = 0;
var iframe_count = 0;
var rocketlazy_count = 0;
mutations.forEach(function(mutation) {
for (var i = 0; i < mutation.addedNodes.length; i++) {
if (typeof mutation.addedNodes[i].getElementsByTagName !== ‘function’) {
continue;
}
if (typeof mutation.addedNodes[i].getElementsByClassName !== ‘function’) {
continue;
}
images = mutation.addedNodes[i].getElementsByTagName(‘img’);
is_image = mutation.addedNodes[i].tagName == “IMG”;
iframes = mutation.addedNodes[i].getElementsByTagName(‘iframe’);
is_iframe = mutation.addedNodes[i].tagName == “IFRAME”;
rocket_lazy = mutation.addedNodes[i].getElementsByClassName(‘rocket-lazyload’);
image_count += images.length;
iframe_count += iframes.length;
rocketlazy_count += rocket_lazy.length;
if(is_image){
image_count += 1;
}
if(is_iframe){
iframe_count += 1;
}
}
} );
if(image_count > 0 || iframe_count > 0 || rocketlazy_count > 0){
lazyLoadInstance.update();
}
} );
var b = document.getElementsByTagName(“body”)[0];
var config = { childList: true, subtree: true };
observer.observe(b, config);
}
}, false);</script><script async=”” data-no-minify=”1″ src=”https://thatware.co/wp-content/plugins/rocket-lazy-load/assets/js/16.1/lazyload.min.js“></script></link></body>
</html>
<!– This website is like a Rocket, isn’t it? Performance optimized by WP Rocket. Learn more: https://wp-rocket.me – Debug: cached@1723523202 –>
The Purpose of decompose() for script and style Elements
When you scrape a webpage, the HTML content often includes various elements such as <script>, <style>, and others that are not relevant to the main text content. These elements contain JavaScript code, CSS styles, or other content that you typically do not want in your text extraction because they can introduce unnecessary noise.
- Identifying script and style Elements:
- soup([‘script’, ‘style’]): This part of the code searches the HTML content for all <script> and <style> elements. These tags usually contain JavaScript code or CSS styling, which do not contribute to the main textual content of a webpage.
- Removing script and style Elements:
- script_or_style.decompose(): The decompose() method is used to remove these elements entirely from the BeautifulSoup object (soup). This means that after this operation, the soup object no longer contains any of the script or style content.
- Extracting Clean Text:
- text = soup.get_text(): After removing the <script> and <style> elements, this line extracts all the remaining text from the HTML, which is now cleaner and more representative of the actual content displayed on the webpage.
Cleaner Text Extraction: By removing the script and style elements, you ensure that the extracted text is focused on the content that is visible to users (e.g., paragraphs, headings, links) rather than behind-the-scenes code or styles. This leads to a more accurate and meaningful extraction of the website’s text.
Avoiding Noise: If you don’t remove these elements, the extracted text might include large blocks of JavaScript code or CSS styles, which are not useful for most text analysis tasks, such as creating a Bag of Words (BoW) model or calculating TF-IDF scores.
# Remove script and style elements to clean the content
for script_or_style in soup([‘script’, ‘style’]):
script_or_style.decompose()
# Extract the text content from the HTML
text = soup.get_text()
text
text = re.sub(r’\s+’, ‘ ‘, text).strip()
1. re.sub(r’\s+’, ‘ ‘, text)
- Purpose: This part of the code replaces multiple consecutive whitespace characters (such as spaces, tabs, and newlines) with a single space.
Components:
- re.sub(pattern, replacement, string): This is a function from Python’s re module (regular expressions) that searches for all occurrences of a pattern in a string and replaces them with the specified replacement.
- r’\s+’ (Pattern):
- \s is a regular expression pattern that matches any whitespace character (spaces, tabs, newlines, etc.).
- ” + is a quantifier that means “one or more occurrences.”
- Together, \s+ matches one or more consecutive whitespace characters.
- ‘ ‘ (Replacement): This is a single space character that will replace the matched whitespace sequence.
- text (String): This is the input text that you want to clean.
Example:
- Input Text: “This is a\n\nsample text.”
- Operation: re.sub(r’\s+’, ‘ ‘, text) will replace all instances of multiple spaces and newlines with a single space.
- Output: “This is a sample text.”
2. .strip()
- .strip(): This is a string method in Python that removes any whitespace characters from the beginning and end of the string. It does not affect whitespace within the string.
Example:
- Input Text: ” This is a sample text. “
- *Operation: *.strip() will remove the spaces at the beginning and end of the string.
- Output: “This is a sample text.”
3. Putting It All Together
The combined operation cleans the text by:
- Replacing multiple consecutive whitespace characters (including spaces, newlines, tabs) within the text with a single space.
- Removing any leading or trailing whitespace from the beginning and end of the text.
Full Example:-
import re
Original text with extra spaces and newlines
text = ” This is a\n\nsample text. “
Clean the text by removing extra spaces and newlines
text = re.sub(r’\s+’, ‘ ‘, text).strip()
Output the cleaned text
print(text)
Output:
“This is a sample text.”
Explanation of Why This is Important:
- Improves Readability: The cleaned text is more readable and consistent, making it easier to analyze or display.
- Prepares Text for Further Processing: By removing unnecessary spaces and newlines, the text is in a cleaner format, which is essential for tasks like natural language processing (NLP), text analysis, or when creating models like Bag of Words (BoW) or TF-IDF.
# Clean the text by removing extra spaces and newlines
text = re.sub(r’\s+’, ‘ ‘, text).strip()
text
tfidf_vectorizer = TfidfVectorizer(stop_words=’english’)
Purpose:
- This line initializes a TfidfVectorizer object from the sklearn (scikit-learn) library. The TfidfVectorizer is used to convert a collection of raw text documents into a matrix of TF-IDF features, which helps in identifying the importance of each word in the document relative to other words.
Components:
- TfidfVectorizer: This is a tool that computes the Term Frequency-Inverse Document Frequency (TF-IDF) for each word in the text. TF-IDF is a statistical measure that evaluates the importance of a word in a document relative to a collection of documents (or corpus).
- stop_words=’english’: This parameter tells the vectorizer to ignore common English stop words (e.g., “the,” “is,” “and”). Stop words are words that appear frequently but carry little meaningful information, so they are often removed in text analysis.
Example:
- Let’s say you have a document with the text: “The quick brown fox jumps over the lazy dog.”
- After removing stop words like “the” and “over,” the remaining words are “quick brown fox jumps lazy dog”.
# Initialize the TF-IDF Vectorizer
tfidf_vectorizer = TfidfVectorizer(stop_words=‘english’)
text_data = [text]
The Text is Treated as a Single Document Inside a List
Purpose:
- This line places the text content into a list, treating it as a single document. TfidfVectorizer expects a list of documents, even if there’s only one document, so we need to put the text in a list.
Components:
- text: This is the cleaned text that you’ve extracted from the webpage.
- text_data = [text]: This creates a list containing a single element (the text). This is necessary because the TfidfVectorizer expects an iterable of documents.
Example:
- Suppose text = “quick brown fox jumps lazy dog”.
- Then text_data = [“quick brown fox jumps lazy dog”].
# The text is treated as a single document inside a list
text_data = [text]
text_data
# Compute the TF-IDF matrix (matrix of TF-IDF scores for words in the text)
tfidf_matrix = tfidf_vectorizer.fit_transform(text_data)
tfidf_matrix
1×773 sparse matrix of type ‘<class ‘numpy.float64′>’
with 773 stored elements in Compressed Sparse Row format>
tfidf_matrix = tfidf_vectorizer.fit_transform(text_data)
Purpose:
- This line computes the TF-IDF matrix for the text data. The matrix represents the TF-IDF scores of the words in the document. The fit_transform method first fits the model to the data (learning the vocabulary and the IDF values) and then transforms the text into a TF-IDF-weighted term-document matrix.
Components:
- fit_transform(text_data): This method does two things:
- fit: Learns the vocabulary from the text data and calculates the Inverse Document Frequency (IDF) for each term.
- transform: Transforms the text data into a TF-IDF matrix, where each cell in the matrix represents the TF-IDF score of a word in the document.
- tfidf_matrix: This is the output matrix containing the TF-IDF scores. Each row corresponds to a document (in this case, just one), and each column corresponds to a word in the vocabulary.
Example:
- Let’s assume text = “The quick brown fox jumps over the lazy dog.”.
- After stop words are removed, you are left with “quick brown fox jumps lazy dog”
- The TF-IDF matrix might look something like this (hypothetical scores):
- The matrix shows that all three words have the same TF-IDF score since they each appear once in a single document, and there are no other documents to compare with (hence IDF doesn’t change their weight).
1. Get the List of Feature Names (Words in the Document)
keyboard_arrow_down
feature_names = tfidf_vectorizer.get_feature_names_out()
Purpose:
- This line retrieves the list of words (features) that were identified by the TfidfVectorizer during the fitting process.
Components:
- get_feature_names_out(): This method returns an array of the words (features) that were identified from the text data.
Example:
- Given the text “quick brown fox jumps lazy dog”, the feature_names array might look like this:
- feature_names: [‘brown’, ‘dog’, ‘fox’, ‘jumps’, ‘lazy’, ‘quick’]
2. Create a Dictionary of Words and Their Corresponding TF-IDF Scores
tfidf_scores = {feature_names[i]: tfidf_matrix[0, i] for i in range(len(feature_names))}
Purpose:
- This line creates a dictionary that maps each word (from feature_names) to its corresponding TF-IDF score (from tfidf_matrix). This allows you to easily see the importance of each word in the document.
Components:
- {} (Dictionary Comprehension): A Python technique to create a dictionary in a concise way.
- feature_names[i]: Refers to the word at index i in the feature_names array.
- tfidf_matrix[0, i]: Retrieves the TF-IDF score for the word at index i in the document (first row of the matrix).
- for i in range(len(feature_names)): Loops through each index in the feature_names array.
Example:
- Given feature_names = [‘brown’, ‘dog’, ‘fox’, ‘jumps’, ‘lazy’, ‘quick’] and the corresponding TF-IDF scores from the matrix, the dictionary might look like this :
tfidf_scores = {
‘brown’: 0.447,
‘dog’: 0.447,
‘fox’: 0.447,
‘jumps’: 0.447,
‘lazy’: 0.447,
‘quick’: 0.447
}
# Get the list of feature names (words in the document)
feature_names = tfidf_vectorizer.get_feature_names_out()
# Create a dictionary of words and their corresponding TF-IDF scores
tfidf_scores = {feature_names[i]: tfidf_matrix[0, i] for i in range(len(feature_names))}
tfidf_scores
import requests
from bs4 import BeautifulSoup
from sklearn.feature_extraction.text import TfidfVectorizer
import re
def scrape_website(url):
# Send a request to the website and get the content
response = requests.get(url)
# Check if the request was successful
if response.status_code != 200:
print(f”Failed to retrieve the content from {url}”)
return “”
# Parse the website content using BeautifulSoup
soup = BeautifulSoup(response.text, ‘html.parser’)
# Extract text content from the website by removing script and style elements
for script_or_style in soup([‘script’, ‘style’]):
script_or_style.decompose()
# Get the text content and clean it
text = soup.get_text()
text = re.sub(r’\s+’, ‘ ‘, text) # Remove extra whitespace
return text
def calculate_tfidf(text):
# Initialize the TF-IDF Vectorizer
tfidf_vectorizer = TfidfVectorizer(stop_words=’english’)
# Transform the text into a list (it expects a list of documents)
text_data = [text]
# Compute the TF-IDF matrix
tfidf_matrix = tfidf_vectorizer.fit_transform(text_data)
# Get the feature names (words)
feature_names = tfidf_vectorizer.get_feature_names_out()
# Convert TF-IDF matrix to a dictionary of words and their scores
tfidf_scores = {feature_names[i]: tfidf_matrix[0, i] for i in range(len(feature_names))}
return tfidf_scores
def main():
# Example URL – you can replace this with any website URL
url = “https://thatware.co/”
# Scrape the website
text = scrape_website(url)
# Check if text was retrieved
if not text:
print(“No text found on the website.”)
return
# Calculate TF-IDF scores
tfidf_scores = calculate_tfidf(text)
# Sort and print the top 50 keywords by TF-IDF score
sorted_keywords = sorted(tfidf_scores.items(), key=lambda x: x[1], reverse=True)
print(“Top 50 keywords by TF-IDF score:”)
for keyword, score in sorted_keywords[:50]:
print(f”{keyword}: {score:.4f}”)
if __name__ == “__main__”:
main()
Below is a Python script that allows you to input multiple website URLs, scrape their content, and then compute the TF-IDF scores for each site. The code includes detailed comments to help a non-tech person understand each step.
import requests
from bs4 import BeautifulSoup
from sklearn.feature_extraction.text import TfidfVectorizer
import re
def scrape_website(url):
“””
This function takes a website URL as input, sends a request to the site,
and extracts the main text content by removing unnecessary HTML tags, scripts, and styles.
“””
try:
# Send an HTTP request to the website
response = requests.get(url)
# Check if the request was successful (status code 200 means success)
if response.status_code != 200:
print(f”Failed to retrieve the content from {url}”)
return “”
# Parse the HTML content using BeautifulSoup
soup = BeautifulSoup(response.text, ‘html.parser’)
# Remove script and style elements to clean the content
for script_or_style in soup([‘script’, ‘style’]):
script_or_style.decompose()
# Extract the text content from the HTML
text = soup.get_text()
# Clean the text by removing extra spaces and newlines
text = re.sub(r’\s+’, ‘ ‘, text).strip()
return text
except Exception as e:
print(f”An error occurred while scraping {url}: {e}”)
return “”
def calculate_tfidf(text):
“””
This function takes the cleaned text content from a website as input and calculates the TF-IDF scores.
It returns a dictionary where each word is associated with its TF-IDF score.
“””
# Initialize the TF-IDF Vectorizer
tfidf_vectorizer = TfidfVectorizer(stop_words=’english’)
# The text is treated as a single document inside a list
text_data = [text]
# Compute the TF-IDF matrix (matrix of TF-IDF scores for words in the text)
tfidf_matrix = tfidf_vectorizer.fit_transform(text_data)
# Get the list of feature names (words in the document)
feature_names = tfidf_vectorizer.get_feature_names_out()
# Create a dictionary of words and their corresponding TF-IDF scores
tfidf_scores = {feature_names[i]: tfidf_matrix[0, i] for i in range(len(feature_names))}
return tfidf_scores
def analyze_website_content(url):
“””
This function scrapes the content of the given website URL, calculates the TF-IDF scores,
and then prints the top keywords based on their scores.
“””
print(f”Analyzing content from: {url}\n”)
# Scrape the website content
text = scrape_website(url)
# If no text was retrieved, skip to the next website
if not text:
print(“No text found on the website.”)
return
# Calculate TF-IDF scores for the website’s text content
tfidf_scores = calculate_tfidf(text)
# Sort the keywords by their TF-IDF score in descending order
sorted_keywords = sorted(tfidf_scores.items(), key=lambda x: x[1], reverse=True)
# Print the top 20 keywords by TF-IDF score
print(“Top 20 keywords by TF-IDF score:”)
for keyword, score in sorted_keywords[:20]:
print(f”{keyword}: {score:.4f}”)
def main():
“””
The main function where we define multiple website URLs, analyze each one,
and print the TF-IDF results for each site.
“””
# Example URLs for Testing
websites = [‘https://thatware.co/’, #Thatware homepage
‘https://www.wikipedia.org/’, # Wikipedia homepage
‘https://www.bbc.com/’, # BBC News homepage
‘https://www.nytimes.com/’ # New York Times homepage
]
# Loop through each website URL in the list
for site in websites:
# Analyze the content and print the results
analyze_website_content(site)
# Print a separator for better readability between different website results
print(“\n” + “=”*50 + “\n”)
if __name__ == “__main__”:
main()
Analyzing content from: https://thatware.co/
Top 20 keywords by TF-IDF score:
seo: 0.8051
services: 0.3432
ai: 0.2442
advanced: 0.1452
google: 0.1056
thatware: 0.0858
marketing: 0.0792
data: 0.0594
algorithms: 0.0528
based: 0.0528
building: 0.0528
content: 0.0528
development: 0.0528
link: 0.0528
search: 0.0528
algorithm: 0.0462
business: 0.0462
optimization: 0.0462
strategies: 0.0462
company: 0.0396
==================================================
Analyzing content from: https://www.wikipedia.org/
Top 20 keywords by TF-IDF score:
ðºð: 0.3324
000: 0.2908
free: 0.2701
âµ: 0.2285
²à: 0.2077
¾à: 0.2077
articles: 0.1662
èª: 0.1662
wikipedia: 0.1454
ªà: 0.1454
ð¹: 0.1454
bahasa: 0.1246
english: 0.1039
à²: 0.1039
ð²ð: 0.1039
ðºñ: 0.1039
ð½ñ: 0.1039
basa: 0.0831
ina: 0.0831
lã: 0.0831
==================================================
Analyzing content from: https://www.bbc.com/
Top 20 keywords by TF-IDF score:
hrs: 0.6677
bbc: 0.1781
agous: 0.1335
days: 0.1335
mins: 0.1335
trump: 0.1187
says: 0.1039
attack: 0.0890
chat: 0.0890
iran: 0.0890
tech: 0.0890
12: 0.0742
claims: 0.0742
investigated: 0.0742
musk: 0.0742
pm: 0.0742
uk: 0.0742
ukraine: 0.0742
agobbc: 0.0594
agomiddle: 0.0594
==================================================
Analyzing content from: https://www.nytimes.com/
Top 20 keywords by TF-IDF score:
min: 0.3911
new: 0.3802
york: 0.3476
news: 0.1847
stories: 0.1521
times: 0.1195
access: 0.1086
included: 0.1086
learn: 0.1086
people: 0.1086
subscription: 0.1086
trump: 0.1086
world: 0.1086
biggest: 0.0978
ideas: 0.0869
loke: 0.0869
recommendations: 0.0869
day: 0.0760
tech: 0.0760
timesatul: 0.0760
==================================================
1. Understanding the Importance of TF-IDF and Keywords
- “The TF-IDF analysis provides a clear picture of which keywords your website content is currently emphasizing. These keywords are critical as they indicate what your content is most focused on, and by extension, what search engines might recognize your site for.”
Example:
- “For instance, in the analysis of your website (ThatWare), the keyword ‘SEO’ has a very high TF-IDF score, indicating that this term is highly emphasized. This suggests that search engines may associate your site strongly with SEO-related content.”
2. Aligning Content with SEO Strategy
- “By understanding which keywords have the highest TF-IDF scores, you can ensure that your website is aligned with your intended SEO strategy. If certain important keywords are missing or underrepresented, this is a clear sign that you need to adjust your content to better target those terms.”
Example:
- “If your goal is to rank highly for AI-driven marketing strategies, but ‘AI’ has a lower TF-IDF score than expected, this indicates a need to incorporate more AI-focused content on your site. This could involve creating new blog posts, case studies, or pages that specifically target ‘AI’ as a key term.”
3. Comparing with Competitors and Finding Opportunities
- “You can use these TF-IDF insights to compare your content against that of your competitors. By identifying which keywords they are ranking for that you may not be focusing on, you can find opportunities to fill those gaps and stand out in the market.”
Example:
- “Suppose your competitor’s website emphasizes ‘algorithm optimization’ with high TF-IDF scores, but your site does not. You could create content around ‘algorithm optimization’ to capture traffic that your competitor is currently attracting, giving you an edge.”
4. Impact on Search Engine Rankings and Traffic
- “Optimizing content based on TF-IDF scores can have a direct impact on search engine rankings. By focusing on high-value keywords that are both relevant and not overly saturated, you can improve your site’s visibility on search engines, leading to increased organic traffic.”
Example:
- “For instance, if ‘SEO services’ has a high TF-IDF score on your site but isn’t driving the expected traffic, it may be worth exploring why—perhaps by improving on-page SEO factors or building backlinks to pages that emphasize this term. Adjusting your content to more effectively target these high-value keywords can help boost your rankings.”
5. Steps to Compete in the SEO Market
- “To effectively compete in the SEO market, it’s crucial to regularly analyze and adjust your content based on the latest keyword data. Here’s how you can do it:”
Steps:
- Regularly Monitor TF-IDF Scores:
- “Continuously monitor the TF-IDF scores of your content. Identify which keywords are gaining traction and which are not performing as expected.”
- Example: “Track ‘AI’ and ‘SEO services’ monthly to see if they continue to be strong keywords or if adjustments are needed.”
2. Content Optimization:
- “Update your content to emphasize high-TF-IDF keywords that align with your business goals. Create new content to target keywords that are currently underrepresented.”
- Example: “If ‘data-driven marketing’ is a growing trend, create blog posts or case studies that focus on this area to capture new search traffic.”
3. Competitor Analysis:
- “Compare your TF-IDF results with those of your competitors. Identify areas where you can outperform them by targeting keywords they are missing or underutilizing.”
- Example: “If a competitor ranks highly for ‘link building strategies’ but has low TF-IDF for ‘content development,’ you can create content that bridges these topics.”
4. Adjust and Iterate:
- “SEO is an ongoing process. Continuously adjust your strategy based on new data, changes in search engine algorithms, and shifts in user behavior.”
- Example: “If Google updates its algorithm to favor long-form content, consider expanding your articles and incorporating more high-TF-IDF keywords naturally throughout.”
6. How These Insights Will Help Increase Traffic and Rankings
- “By focusing on the right keywords and ensuring your content is aligned with the needs of your audience and the algorithms of search engines, you can drive more qualified traffic to your site. This increased traffic will not only boost your rankings but also lead to higher engagement and conversions.”
Example:
- “If ‘advanced SEO services’ has a high TF-IDF score but isn’t driving the expected traffic, you might need to optimize the landing page for this keyword further, perhaps by improving meta tags, enhancing the user experience, or building more internal links. These changes can help ensure that the keyword performs better, leading to an increase in traffic and a higher ranking.”
- “By optimizing your landing page for the keyword ‘advanced SEO services,’ you can ensure that your content is better aligned with both search engine algorithms and user expectations. Enhancing your meta tags will improve how your page is represented in search results, while a better user experience will keep visitors engaged and encourage them to take action. Building more internal links will not only help users navigate your site but also boost the SEO value of your pages by distributing page authority. These combined efforts will lead to higher search engine rankings, increased traffic, and ultimately more conversions.”
Conclusion:
- “By leveraging the insights from the TF-IDF analysis, you can fine-tune your content strategy, outperform competitors, and improve your site’s visibility in search engine results. This strategic approach will not only help you attract more traffic but also position your brand as a leader in your industry.”
Below is the rewritten code that not only calculates the TF-IDF scores for each keyword but also represents these keywords through a bar graph. The graph will display the top 20 keywords by their TF-IDF scores, with the size of each bar corresponding to the keyword’s importance.
import requests
from bs4 import BeautifulSoup
from sklearn.feature_extraction.text import TfidfVectorizer
import re
import matplotlib.pyplot as plt
def scrape_website(url):
“””
This function takes a website URL as input, sends a request to the site,
and extracts the main text content by removing unnecessary HTML tags, scripts, and styles.
“””
try:
# Send an HTTP request to the website
response = requests.get(url)
# Check if the request was successful (status code 200 means success)
if response.status_code != 200:
print(f“Failed to retrieve the content from {url}“)
return “”
# Parse the HTML content using BeautifulSoup
soup = BeautifulSoup(response.text, ‘html.parser’)
# Remove script and style elements to clean the content
for script_or_style in soup([‘script’, ‘style’]):
script_or_style.decompose()
# Extract the text content from the HTML
text = soup.get_text()
# Clean the text by removing extra spaces and newlines
text = re.sub(r‘\s+’, ‘ ‘, text).strip()
return text
except Exception as e:
print(f“An error occurred while scraping {url}: {e}“)
return “”
def calculate_tfidf(text):
“””
This function takes the cleaned text content from a website as input and calculates the TF-IDF scores.
It returns a dictionary where each word is associated with its TF-IDF score.
“””
# Initialize the TF-IDF Vectorizer with stop words removed
tfidf_vectorizer = TfidfVectorizer(stop_words=‘english’)
# The text is treated as a single document inside a list
text_data = [text]
# Compute the TF-IDF matrix (matrix of TF-IDF scores for words in the text)
tfidf_matrix = tfidf_vectorizer.fit_transform(text_data)
# Get the list of feature names (words in the document)
feature_names = tfidf_vectorizer.get_feature_names_out()
# Create a dictionary of words and their corresponding TF-IDF scores
tfidf_scores = {feature_names[i]: tfidf_matrix[0, i] for i in range(len(feature_names))}
return tfidf_scores
def plot_tfidf_graph(tfidf_scores, url):
“””
This function plots a bar graph for the top 20 TF-IDF scores.
The larger the TF-IDF score, the larger the bar representing the keyword.
“””
# Sort the keywords by their TF-IDF score in descending order
sorted_keywords = sorted(tfidf_scores.items(), key=lambda x: x[1], reverse=True)
# Select the top 20 keywords
top_keywords = sorted_keywords[:20]
# Separate the keywords and their scores for plotting
keywords, scores = zip(*top_keywords)
# Plotting the bar graph
plt.figure(figsize=(10, 6))
plt.barh(keywords, scores, color=‘skyblue’)
plt.xlabel(‘TF-IDF Score’)
plt.title(f‘Top 20 Keywords by TF-IDF Score for {url}‘)
plt.gca().invert_yaxis() # Invert y-axis to show the highest scores at the top
plt.show()
def analyze_website_content(url):
“””
This function scrapes the content of the given website URL, calculates the TF-IDF scores,
and then plots a graph of the top keywords based on their scores.
“””
print(f“Analyzing content from: {url}\n”)
# Scrape the website content
text = scrape_website(url)
# If no text was retrieved, skip to the next website
if not text:
print(“No content found on the website.”)
return
# Calculate TF-IDF scores for the website’s text content
tfidf_scores = calculate_tfidf(text)
# Plot the graph of the top keywords by TF-IDF score
plot_tfidf_graph(tfidf_scores, url)
def main():
“””
The main function where we define multiple website URLs, analyze each one,
and display the TF-IDF results graphically.
“””
# Example URLs for Testing
websites = [
‘https://thatware.co/’, # ThatWare homepage
‘https://www.incrementors.com/’, # Incrementors homepage
‘https://www.techwebers.com/’, # Techwebers homepage
‘https://www.seotechexperts.com/seo-agency-india.html’ # SEO Tech Experts homepage
]
# Loop through each website URL in the list
for site in websites:
# Analyze the content and plot the results
analyze_website_content(site)
# Print a separator for better readability between different website results
print(“\n” + “=”*50 + “\n”)
if __name__ == “__main__”:
main()
Analyzing content from: https://thatware.co/
==================================================
Analyzing content from: https://www.incrementors.com/
==================================================
Analyzing content from: https://www.techwebers.com/
==================================================
Analyzing content from: https://www.seotechexperts.com/seo-agency-india.html
==================================================
import requests
from bs4 import BeautifulSoup
from sklearn.feature_extraction.text import TfidfVectorizer
import re
import matplotlib.pyplot as plt
from wordcloud import WordCloud
def scrape_website(url):
“””
This function takes a website URL as input, sends a request to the site,
and extracts the main text content by removing unnecessary HTML tags, scripts, and styles.
“””
try:
# Send an HTTP request to the website
response = requests.get(url)
# Check if the request was successful (status code 200 means success)
if response.status_code != 200:
print(f“Failed to retrieve the content from {url}“)
return “”
# Parse the HTML content using BeautifulSoup
soup = BeautifulSoup(response.text, ‘html.parser’)
# Remove script and style elements to clean the content
for script_or_style in soup([‘script’, ‘style’]):
script_or_style.decompose()
# Extract the text content from the HTML
text = soup.get_text()
# Clean the text by removing extra spaces and newlines
text = re.sub(r‘\s+’, ‘ ‘, text).strip()
return text
except Exception as e:
print(f“An error occurred while scraping {url}: {e}“)
return “”
def calculate_tfidf(text):
“””
This function takes the cleaned text content from a website as input and calculates the TF-IDF scores.
It returns a dictionary where each word is associated with its TF-IDF score.
“””
# Initialize the TF-IDF Vectorizer with stop words removed
tfidf_vectorizer = TfidfVectorizer(stop_words=‘english’)
# The text is treated as a single document inside a list
text_data = [text]
# Compute the TF-IDF matrix (matrix of TF-IDF scores for words in the text)
tfidf_matrix = tfidf_vectorizer.fit_transform(text_data)
# Get the list of feature names (words in the document)
feature_names = tfidf_vectorizer.get_feature_names_out()
# Create a dictionary of words and their corresponding TF-IDF scores
tfidf_scores = {feature_names[i]: tfidf_matrix[0, i] for i in range(len(feature_names))}
return tfidf_scores
def generate_wordcloud(tfidf_scores, url):
“””
This function generates a word cloud from the TF-IDF scores.
The larger the TF-IDF score, the larger the word in the word cloud.
“””
# Generate the word cloud from the TF-IDF scores
wordcloud = WordCloud(width=800, height=400, background_color=‘white’).generate_from_frequencies(tfidf_scores)
# Plotting the word cloud
plt.figure(figsize=(10, 6))
plt.imshow(wordcloud, interpolation=‘bilinear’)
plt.axis(‘off’) # Remove the axes
plt.title(f‘Top Keywords by TF-IDF Score for {url}‘)
plt.show()
def analyze_website_content(url):
“””
This function scrapes the content of the given website URL, calculates the TF-IDF scores,
and then generates a word cloud of the top keywords based on their scores.
“””
print(f“Analyzing content from: {url}\n”)
# Scrape the website content
text = scrape_website(url)
# If no text was retrieved, skip to the next website
if not text:
print(“No content found on the website.”)
return
# Calculate TF-IDF scores for the website’s text content
tfidf_scores = calculate_tfidf(text)
# Generate the word cloud of the top keywords by TF-IDF score
generate_wordcloud(tfidf_scores, url)
def main():
“””
The main function where we define multiple website URLs, analyze each one,
and display the TF-IDF results as a word cloud.
“””
# Example URLs for Testing
websites = [
‘https://thatware.co/’, # ThatWare homepage
‘https://www.incrementors.com/’, # Incrementors homepage
‘https://www.techwebers.com/’, # Techwebers homepage
‘https://www.seotechexperts.com/seo-agency-india.html’ # SEO Tech Experts homepage
]
# Loop through each website URL in the list
for site in websites:
# Analyze the content and generate the word cloud
analyze_website_content(site)
# Print a separator for better readability between different website results
print(“\n” + “=”*50 + “\n”)
if __name__ == “__main__”:
main()
Analyzing content from: https://thatware.co/
==================================================
Analyzing content from: https://www.incrementors.com/
==================================================
Analyzing content from: https://www.techwebers.com/
==================================================
Analyzing content from: https://www.seotechexperts.com/seo-agency-india.html
==================================================