Get a Customized Website SEO Audit and Online Marketing Strategy and Action Plan
The project “Federated Learning for Personalized SEO Recommendations” aims to harness the power of federated learning—a form of decentralized machine learning—to analyze website engagement data and generate personalized recommendations that improve the visibility, engagement, and overall performance of websites in search engine results. This project is designed to benefit website owners, digital marketers, and content strategists by offering actionable insights that are tailored to the specific needs and behaviors of their target audience.
Key Objectives and Benefits:
- Personalized Content Recommendations:
- The project creates tailored suggestions to help website owners optimize their content based on user behavior and engagement data. For example, if a specific webpage has high user engagement but low traffic, the model might recommend promoting that page more widely to attract more visitors.
- SEO Insights and Optimization:
- By analyzing metrics like views, bounce rates, average session durations, and user engagement, the project generates insights on which types of content, keywords, and topics perform best. This helps website owners refine their SEO strategies, improve their ranking in search results, and better serve their target audience.
- Enhanced User Experience:
- The recommendations aim to enhance the overall user experience on a website by suggesting improvements to page structure, content relevance, loading speed, and interactive features based on data-driven insights.
Why Use Federated Learning?
- Privacy-Preserving Data Analysis: Unlike traditional models that collect and analyze data on a central server, federated learning works by training models locally on user devices or in separate data silos, ensuring that sensitive user data remains private. This makes it particularly appealing for analyzing user engagement without compromising privacy.
- Improved Accuracy: By leveraging data from multiple sources without aggregating it into one central location, federated learning can deliver accurate insights while maintaining data security.
How the Project Achieves Its Purpose:
The project involves three main parts, each with a specific role in achieving the overall purpose:
- Part 1 – Data Collection and Cleaning:
- This step involves scraping relevant content from specified URLs. It collects data such as webpage meta descriptions, keywords, and main text content. The data is then cleaned and standardized for further analysis.
- Part 2 – Data Integration and Merging:
- This step merges the scraped content data with engagement and user interaction data. By standardizing and combining data from multiple sources (e.g., webpage views, user sessions, and bounce rates), the project creates a comprehensive dataset ready for analysis.
- Part 3 – Content Recommendation Generation:
- In the final step, the merged data is analyzed to generate personalized recommendations based on user engagement metrics, views, bounce rates, etc. The generated recommendations provide actionable insights that website owners can use to enhance content quality, optimize SEO, and improve overall engagement.
1. What is Federated Learning (FL) in SEO?
Federated Learning is a method in machine learning where models are trained on data that remains on users’ devices or on local servers, rather than collecting all data in a central location. In SEO (Search Engine Optimization), applying FL means the model learns from data distributed across multiple sources (e.g., users visiting different pages on your website, user interactions with the website’s content, or even from various websites) without needing to centralize or collect this data in one place. This is particularly useful for personalization in SEO, where the goal is to make search results or website content more relevant to each user without compromising their privacy.
2. How Does Federated Learning Work in SEO?
In traditional SEO, personalization can involve collecting user data (like search queries, clicks, and preferences) and then analyzing it centrally to improve search results and recommendations. Federated Learning changes this by keeping the data on the devices (or on the website servers where it’s generated) and only sharing the model’s learned updates, not the actual user data. For example:
- Step 1: Federated Learning collects insights from different sources, like how visitors interact with a site or what keywords they’re interested in.
- Step 2: The FL model adjusts based on these insights at each local device or server level.
- Step 3: Updates (model changes) are sent to a central server, which merges them to improve the main model without seeing any actual user data.
3. Use Cases for Federated Learning in SEO (Website Context)
In the context of a website, Federated Learning can be used for:
- Personalized Content Recommendations: Tailoring the articles, products, or resources shown to each user based on their previous interactions, without storing their data on a central server.
- Improved Search Rankings within the Website: The model can improve how it ranks or recommends content on the website itself based on user behavior (like click-through rates or time spent on each page).
- Predicting User Intent: By learning from previous user interactions, the model can predict what each visitor is looking for and guide them to relevant content faster.
- Content Optimization: Understanding which keywords or page types (blogs, product pages, etc.) perform best for different user segments and adjusting site content accordingly, enhancing SEO.
4. Real-Life Implementations of Federated Learning in SEO
While Federated Learning is relatively new in SEO, it’s being adopted in areas like:
- Personalized Recommendations on News Websites: Federated models help personalize content based on how users interact with articles, without sharing their reading habits.
- E-commerce Product Recommendations: Online stores are beginning to use FL for customized product suggestions based on previous interactions, maintaining user privacy.
- Search Engines with Localized Results: Search engines (e.g., Google’s early experiments with FL) use Federated Learning to improve personalization by learning from device-level interactions.
5. What Kind of Data Does a Federated Learning Model Need?
For Federated Learning in SEO, the model typically needs:
- User Interaction Data: Information on clicks, page visits, time spent on different sections, or search queries within the website.
- Content Data: Information about the content on the site, like keywords, meta tags, and other SEO-related elements.
- Behavioral Data: How users navigate and interact with different content types (blogs, articles, product pages).
The data can be in various formats, but a CSV file with structured data (e.g., columns for URL, keywords, user interaction metrics) often works best. Alternatively, the model can work directly with website content URLs if it has the capability to process the text from these URLs directly.
6. Do You Need URLs or Just Data in CSV Format?
You have two options:
- URL-based Processing: If the Federated Learning model can fetch and analyze webpage content directly, then you would only need to provide URLs of your website’s pages. This approach allows the model to process the text and extract keywords and other elements by crawling the page.
- CSV-based Data: If you already have structured data (like user interaction metrics, page keywords, content categories) in a CSV, you can provide this file. The model will then use this data to learn without needing to access the website directly.
For non-technical users, providing structured data in a CSV format is often simpler and more practical than configuring URL-based processing.
7. How Federated Learning Enhances Personalized Search Results
Federated Learning can enhance SEO by personalizing user experiences without collecting personal data. For example, as users interact with the website, the model learns which types of content or keywords are most relevant to different audiences. It can then adjust search result rankings or content recommendations to suit each user’s interests, offering a more tailored experience. Since FL doesn’t need to centralize user data, it’s also a privacy-friendly approach, making it suitable for companies sensitive to data privacy concerns.
8. Expected Output from Federated Learning in SEO
The output from a Federated Learning SEO model generally includes:
- Personalized Content Recommendations: A list of suggested pages or articles tailored for each user based on past behavior.
- Optimized Internal Search Results: Improved ranking of pages within the site’s search feature to show more relevant results to individual users.
- SEO Insights: Analysis on which keywords or content types are performing best, helping website owners adjust their strategy.
In website contexts, this output could take the form of recommendation lists or search result adjustments on the site itself. For instance, when a visitor searches for “beginner SEO tips,” the model might suggest articles related to “SEO for beginners” or “simple SEO hacks” based on previous interactions.
Part 1: Web Scraping and Content Extraction
- Purpose: This part of the code is responsible for extracting content from specified web pages. It collects meta descriptions, keywords, and main textual content, which will later be analyzed for SEO improvements.
- What It Does:
- Import Libraries: Imports necessary libraries for web scraping (like requests, BeautifulSoup) and text processing.
- Define clean_text Function: This function cleans the text by removing non-letter characters, converting it to lowercase, and removing common words (stopwords) that do not add much meaning (like “the”, “is”).
- Specify URLs: A list of URLs to scrape is defined. These URLs point to different web pages related to SEO services.
- Scrape Content: For each URL, the code sends a request to fetch the page content. It extracts meta descriptions, keywords (if available), and text from paragraphs and headings.
- Clean the Content: The extracted text is cleaned using the clean_text function.
- Save Data: The scraped data is saved into a CSV file named final_scraped_webtool_content.csv for use in later steps.
Explanation of the Output:
1. Downloading Package Stopwords:
- This part of the output shows that the code is downloading or verifying the presence of a package called stopwords from the Natural Language Toolkit (NLTK).
- Why is this needed? Stopwords are common words like “is”, “and”, “the” that do not contribute much meaning when analyzing text. They are removed from text data to make the analysis more focused and meaningful.
- The line nltk_data Downloading package stopwords to /root/nltk_data… simply shows the location where these stopwords are stored.
2. Final Scraped Data (Preview):
- This section shows a preview of the data that was extracted (or scraped) from various URLs (web pages). This data represents web content and meta-information relevant to SEO analysis.
- What does it contain? The preview displays a few columns for the first few rows of the dataset. Here’s what each column represents:
- URL: This is the web address of the page that was scraped.
- Example: /fitness-based-seo-service/ is the URL for a webpage related to fitness-based SEO services.
- Meta Description: This is a brief summary or description of the webpage, usually provided in the meta tags of the HTML source code. It helps search engines understand the page’s content.
- Example: The description for the fitness-based SEO service page mentions improving online visibility for fitness brands.
- Keywords: These are keywords extracted from the page’s meta tags. They provide an idea of the focus topics or themes of the page. In this example, the value is shown as N/A, which means keywords were not found or extracted.
- Cleaned Text: This column contains the main text content extracted from the webpage, which has been cleaned. Cleaning involves converting text to lowercase, removing punctuation, and getting rid of common stopwords to make the text more relevant for analysis.
- Example: For the fitness-based SEO service page, it shows a snippet of the cleaned text that mentions “fitness based seo service quick enquiry seo service…”.
- URL: This is the web address of the page that was scraped.
What This Data Means:
- Purpose: This data is a preliminary step in preparing information for SEO analysis. It helps us understand what content is present on each webpage and allows us to analyze it further for optimization.
- Use Case: By having the URL, meta description, keywords, and cleaned text, you can evaluate how well-optimized each page is for search engines. For instance:
- If a page has a weak or missing meta description, you can recommend creating a more engaging and keyword-rich description.
- If no relevant keywords are found, it may indicate that the page needs better SEO optimization.
- The cleaned text can help identify the main topics or keywords being emphasized on the page.
Why This Matters for SEO:
- Meta Descriptions and Keywords: These elements play a critical role in search engine optimization. The meta description can affect click-through rates, and the right keywords help improve a page’s visibility in search results.
- Content Analysis: By analyzing the main content (cleaned text), you can assess whether the page is focused on the right topics, if it’s optimized for specific keywords, or if it needs improvements like better structure, additional content, or different formatting.
Next Steps Based on This Output:
- Analyze Meta Descriptions and Keywords: Identify pages that have missing or weak descriptions and provide recommendations for improvements.
- Content Quality Check: Assess the cleaned text to determine if the content is relevant, engaging, and keyword-rich.
- Optimization Recommendations: Suggest ways to improve the on-page SEO elements based on the analysis, such as adding or refining meta descriptions, optimizing content for target keywords, and enhancing user engagement.
Part 2: Data Merging and Standardization
- Purpose: This part merges the scraped content data with other provided datasets (Landing Pages and Pageviews Engagement). The goal is to combine information from different sources to get a comprehensive view of each web page’s performance.
- What It Does:
- Load Data: Loads the scraped content data (from Part 1) and two other datasets: Landing Pages and Pageviews Engagement data.
- Standardize URLs: Ensures that URLs in all datasets have a consistent format by converting to lowercase, removing trailing slashes, and trimming any whitespace. This makes merging possible.
- Merge Data: Merges the three datasets using the URL as the key to bring together content, engagement, and pageview metrics for each page.
- Handle Missing Data: Fills in missing values (e.g., setting missing numerical values to 0) to ensure data consistency.
- Save the Merged Data: Saves the merged data into a CSV file named final_merged_data.csv for further processing.
Explanation of the Output:
1. Final Scraped Webtool Content DataFrame (Preview)
- What it represents: This is the data extracted from the URLs of web pages. It shows information collected through web scraping in the first part of your code.
- Columns in this DataFrame:
- URL: The web address of the page that was scraped.
- Example: https://webtool.co/fitness-based-seo-service/ is a URL for a fitness SEO service.
- Meta Description: This is a brief description of the content found on the page. It comes from the meta tag in the webpage’s HTML. It’s important for SEO because it gives search engines and users a snapshot of what the page is about.
- Example: The description for the fitness-based SEO service page talks about transforming fitness brands with expert SEO services.
- Keywords: Keywords are extracted from the page’s meta tag and can indicate what the page is optimized for. Here, it shows as NaN (meaning “Not a Number”) because the data was either missing or could not be extracted.
- Cleaned Text: This column contains the main text content from the page, processed to remove unnecessary characters like punctuation and stopwords (common words like “the” or “and” that don’t add much meaning).
- Example: “fitness based seo service quick enquiry seo service” is part of the cleaned text.
- URL: The web address of the page that was scraped.
2. Landing Page DataFrame (Preview)
- What it represents: This DataFrame contains data about user engagement metrics for different web pages.
- Columns in this DataFrame:
- Page path and screen class: This column shows the page path or URL suffix for different pages.
- Example: /adult-seo-service/ is the path for a page about adult SEO services.
- Engaged sessions: The number of sessions where users were actively engaged with the page.
- Example: 39 sessions were engaged for the /adult-seo-service/ page.
- Engagement rate: The proportion of sessions where users were actively engaged.
- Bounce rate: The proportion of sessions where users left after viewing just one page.
- Average session duration: The average time spent by users on the page, measured in seconds.
- Engaged sessions per active user, Sessions, etc.: These columns provide further metrics about how users interact with the page.
- Page path and screen class: This column shows the page path or URL suffix for different pages.
3. Pageviews Engagement DataFrame (Preview)
- What it represents: This DataFrame provides data on page views and user engagement, indicating how often pages are viewed and by how many active users.
- Columns in this DataFrame:
- Page path and screen class: Similar to the previous DataFrame, it shows the page path.
- Views: Number of times the page was viewed.
- Active users: Number of unique users who interacted with the page.
- Views per active user: Average number of views per active user.
- Average engagement time per active user: The average time users spent engaging with the page.
- Event count, Key events, Total revenue: These columns provide more detailed metrics about user activity and interactions.
4. Final Merged DataFrame (Preview) with all three datasets
- What it represents: This is the merged data that combines information from all three previous datasets. It allows for a comprehensive analysis by bringing together scraped data, user engagement metrics, and page views.
- Columns in this DataFrame:
- URL: The page’s URL after standardization.
- Meta Description, Keywords, Cleaned Text: These columns come from the scraped content.
- Engaged sessions, Engagement rate, Bounce rate, etc.: These columns come from the engagement and pageviews datasets.
- Why this is useful: By merging data, you can analyze and compare engagement metrics, views, and content optimization on the same page. For example:
- A page with high views but low engagement may need content improvement to retain visitors.
- Pages with a high bounce rate may indicate a lack of relevant content or poor user experience.
What This Data Means for SEO Improvement:
- Data-driven SEO Recommendations: This merged data allows you to generate recommendations to improve SEO. For example, you can identify which pages need better meta descriptions, more engaging content, or optimization for specific keywords.
- User Engagement Insights: You can see which pages perform well and which need improvement based on user engagement metrics.
- Personalized Content Recommendations: With this data, you can provide specific recommendations tailored to each URL, helping to improve user engagement and search engine ranking.
Next Steps Based on This Output:
- Analyze Pages with High Bounce Rates: Consider why users leave without further interaction. Improve the content, make it more engaging, or ensure it matches user intent.
- Optimize Meta Descriptions and Keywords: Pages with missing or poor meta descriptions and keywords need attention.
- Enhance Content for Low Engagement Pages: Use the cleaned text data to see if the content aligns with user needs and SEO goals.
Part 3: Generating Content Recommendations
- Purpose: This part generates content recommendations based on the merged data. It analyzes metrics like views, engagement rate, and bounce rate to provide actionable insights for improving each page’s SEO performance.
- What It Does:
- Load Merged Data: Loads the data merged in Part 2.
- Generate Recommendations: For each page, it checks various engagement metrics and generates recommendations based on specific conditions. For example, if a page has a high bounce rate and low engagement, it suggests revising the content. If a page has excellent engagement, it recommends expanding the content.
- Save Recommendations: The generated recommendations, along with key metrics (e.g., views, engagement rate, bounce rate), are saved into a CSV file named content_recommendations.csv.
Explanation of the Output
Final Scraped Data (Preview):
- This section shows a preview of the data that was extracted (or scraped) from various URLs (web pages). This data represents web content and meta-information relevant to SEO analysis.
- What does it contain? The preview displays a few columns for the first few rows of the dataset. Here’s what each column represents:
- URL: This is the web address of the page that was scraped.
- Example: /fitness-based-seo-service/ is the URL for a webpage related to fitness-based SEO services.
- Meta Description: This is a brief summary or description of the webpage, usually provided in the meta tags of the HTML source code. It helps search engines understand the page’s content.
- Example: The description for the fitness-based SEO service page mentions improving online visibility for fitness brands.
- Keywords: These are keywords extracted from the page’s meta tags. They provide an idea of the focus topics or themes of the page. In this example, the value is shown as N/A, which means keywords were not found or extracted.
- Cleaned Text: This column contains the main text content extracted from the webpage, which has been cleaned. Cleaning involves converting text to lowercase, removing punctuation, and getting rid of common stopwords to make the text more relevant for analysis.
- Example: For the fitness-based SEO service page, it shows a snippet of the cleaned text that mentions “fitness based seo service quick enquiry seo service…”.
- URL: This is the web address of the page that was scraped.
What This Data Means:
- Purpose: This data is a preliminary step in preparing information for SEO analysis. It helps us understand what content is present on each webpage and allows us to analyze it further for optimization.
- Use Case: By having the URL, meta description, keywords, and cleaned text, you can evaluate how well-optimized each page is for search engines. For instance:
- If a page has a weak or missing meta description, you can recommend creating a more engaging and keyword-rich description.
- If no relevant keywords are found, it may indicate that the page needs better SEO optimization.
- The cleaned text can help identify the main topics or keywords being emphasized on the page.
Why This Matters for SEO:
- Meta Descriptions and Keywords: These elements play a critical role in search engine optimization. The meta description can affect click-through rates, and the right keywords help improve a page’s visibility in search results.
- Content Analysis: By analyzing the main content (cleaned text), you can assess whether the page is focused on the right topics, if it’s optimized for specific keywords, or if it needs improvements like better structure, additional content, or different formatting.
Next Steps Based on This Output:
- Analyze Meta Descriptions and Keywords: Identify pages that have missing or weak descriptions and provide recommendations for improvements.
- Content Quality Check: Assess the cleaned text to determine if the content is relevant, engaging, and keyword-rich.
- Optimization Recommendations: Suggest ways to improve the on-page SEO elements based on the analysis, such as adding or refining meta descriptions, optimizing content for target keywords, and enhancing user engagement.
1. Final Merged DataFrame (Preview):
o This table shows the merged data from various sources, including URLs and their associated SEO metrics.
o Columns explained:
- URL: This column lists the unique URLs or web pages that have been analyzed.
- Meta Description: This column contains a brief description of the content on the page, extracted during the scraping process. If this value is NaN (Not a Number), it means no meta description was found for that URL.
- Cleaned Text: This column shows the cleaned main text content from the page.
- Engaged Sessions, Engagement Rate, Bounce Rate, etc.: These columns show various metrics related to user engagement, such as:
- Engaged Sessions: The number of sessions where users were actively engaged.
- Engagement Rate: The percentage of sessions where users interacted meaningfully with the page.
- Bounce Rate: The percentage of users who left the page without engaging further.
- Average Session Duration: The average time users spent on the page.
- Views, Active Users, Event Count, etc.: Additional metrics that provide insights into the user behavior on each page.
o Use Case: This table allows you to understand how each URL performs based on user engagement metrics, which is critical for evaluating SEO performance.
2. Generated Content Recommendations (Preview):
o This table is the output of the content recommendation system based on the analyzed data. Each row corresponds to a specific URL and provides actionable recommendations.
o Columns explained:
- URL: The web page for which the recommendation is made.
- Recommendation: A detailed suggestion tailored to improve the page’s engagement, visibility, or other metrics. For example:
- If the engagement rate is low or the views are minimal, the recommendation might suggest revisiting SEO strategies, enhancing content, or improving user targeting.
- High engagement might prompt suggestions to expand content or add interactive elements to retain users further.
- Views: The number of times the page was viewed.
- Engagement Rate (%): The percentage indicating how engaged users were with the page.
- Bounce Rate (%): The percentage of users who left after viewing the page.
- Average Session Duration (seconds): The average time spent by users on the page.
- Active Users: The number of unique users who actively engaged with the page.
o Use Case: This table serves as a guide for improving content performance. By examining the metrics and recommendations, you can identify pages that need content optimization, increased visibility, or restructuring to reduce bounce rates.
3. Understanding the Columns and Their Relevance:
- URL: This identifies the web page being analyzed. Each URL is unique, representing a specific page on your site.
- Recommendation: This column provides actionable insights based on the data for that URL. The recommendations are generated based on the page’s metrics, such as views, engagement rate, bounce rate, and session duration. The goal of these recommendations is to improve the performance of the page by addressing specific issues or optimizing areas where it is performing well.
- For example, if the engagement rate is low and views are minimal, the recommendation suggests revisiting the page’s SEO strategy, enhancing content, or targeting better keywords.
- Views: This represents how many times the page was viewed by users. A high number of views indicates good visibility, while a low number suggests the need to improve the page’s reach or relevance.
- Engagement Rate (%): This shows how effectively the page engages users. A higher engagement rate indicates that users are interacting more with the content. If this value is low, it may suggest that the content is not capturing user interest.
- Bounce Rate (%): A high bounce rate indicates that many users leave the page after viewing it without engaging further. This could point to a lack of engaging content or relevance to the user’s intent.
- Average Session Duration (seconds): This metric shows the average amount of time users spend on the page. A longer duration generally suggests that users find the content engaging or useful, while a shorter duration may indicate a lack of interest or relevance.
- Active Users: This indicates the number of unique users who actively engaged with the page. More active users can signify that the page has a broad appeal.
4. Example Interpretations:
o Row 0 (URL: /fitness-based-seo-service):
- Recommendation: The recommendation suggests that the page has low views and user engagement. It advises revisiting SEO strategies, enhancing meta tags, and re-optimizing content with targeted keywords to increase visibility and engagement.
- Views: 16 views indicate that the page is not receiving a lot of traffic.
- Engagement Rate (%): 0.83 (or 83%) suggests a relatively high level of engagement among users who visit.
- Bounce Rate (%): 0.16 (or 16%) is low, indicating that users who visit tend to stay and engage with the page.
- Average Session Duration: 25.92 seconds, suggesting the average time users spent on the page.
- Active Users: 8 unique users engaged with the page.
o Row 7 (URL: /adult-seo-service):
- Recommendation: The recommendation highlights that the page has a high average session duration and good engagement. It suggests considering breaking down the content further or adding in-depth analysis to retain users longer.
- Views: 172 views, showing a relatively high traffic level.
- Engagement Rate (%): 0.71 (or 71%), indicating strong engagement.
- Bounce Rate (%): 0.29 (or 29%), meaning a lower percentage of users leave without further engagement.
- Average Session Duration: 244.99 seconds, reflecting a long user stay time, indicating high engagement.
- Active Users: 66 unique users, a good number of active users.
5. Using the Output:
- Identify and Prioritize Improvements: Use the recommendations to focus your efforts on improving specific pages. For example, pages with low engagement or high bounce rates should be optimized for better content relevance, faster loading times, or improved user targeting.
- Measure Impact Over Time: After implementing changes based on the recommendations, track these metrics to see if engagement, views, or other aspects improve.
- Optimize Content: Pages with high engagement might be expanded or enhanced to retain users further, while pages with low performance should be re-evaluated for content quality and relevance.
Key Takeaways from the Output
- The “Final Merged DataFrame” provides a comprehensive view of all the metrics related to each URL. This helps in understanding the current state of SEO performance.
- The “Generated Content Recommendations” table offers actionable insights for each page. The goal is to improve user engagement, reduce bounce rates, and optimize content based on how users currently interact with each page.
- Example Interpretations:
- For a page with low views and high bounce rates, the recommendation might suggest revisiting SEO strategies or improving content relevance.
- A page with high engagement and long average session duration may prompt expanding the content to retain user interest.
Next Steps
- Use the Recommendations: Implement the suggested recommendations for each URL to improve SEO performance.
- Track Metrics: After implementing changes, track the metrics over time to assess the impact.
- Iterative Improvements: Continue to refine and optimize content based on updated metrics and user behavior insights.
Summary
This output provides a comprehensive overview of each URL’s performance and actionable steps to improve SEO performance. By following the recommendations, you can increase user engagement, improve content relevance, and enhance SEO strategy for each page on your website. The goal is to provide a tailored approach to optimize your site’s content based on real user behavior and engagement data.
Thatware | Founder & CEO
Tuhin is recognized across the globe for his vision to revolutionize digital transformation industry with the help of cutting-edge technology. He won bronze for India at the Stevie Awards USA as well as winning the India Business Awards, India Technology Award, Top 100 influential tech leaders from Analytics Insights, Clutch Global Front runner in digital marketing, founder of the fastest growing company in Asia by The CEO Magazine and is a TEDx speaker, proud member of Forbes Agency Council and BrightonSEO speaker.