SlideShare a Scribd company logo
@Fearless_Shultz #brightonSEO
Utilizing the power of
PowerShell for SEO
Mike Osolinski // Technical SEO Consultant
SLIDESHARE.NET/MikeOsolinski
@Fearless_Shultz
@Fearless_Shultz #brightonSEO
https://www.slideshare.net/MikeOsolinski/command-line-automation-for-repetitive-tasks
@Fearless_Shultz #brightonSEO
What I’m Going to Talk About
Today
A Brief Introduction to
what PowerShell is, it's
components and
interface
Some Examples of Using
PowerShell to Automate
SEO Tasks
Extending PowerShell Beyond
It’s Native Capabilities
@Fearless_Shultz #brightonSEO
Why Automate SEO Processes?
@Fearless_Shultz #brightonSEO
Spend Less Time Gathering and Formatting Data and More Time
on Analysis
@Fearless_Shultz #brightonSEO
Make your business more profitable by being able to do the
same work in a shorter period of time
@Fearless_Shultz #brightonSEO
Allow teams to easily handle greater workloads without having
to recruit new staff
@Fearless_Shultz #brightonSEO
Have an Easier Life…
@Fearless_Shultz #brightonSEO
So Why Don’t More People
Automate Processes?
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
Lack of Awareness of the potential time savings and that many
repetitive tasks can be easily automated
@Fearless_Shultz #brightonSEO
Fear either that scripting is too hard for you to learn and you
won’t be able to do it or that you might break something
*Spoiler – It’s not and You Will. Everyone does
@Fearless_Shultz #brightonSEO
Not having / wanting to spend time learning to write scripts
@Fearless_Shultz #brightonSEO
Why PowerShell?
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
Already Installed on Most Windows Computers so a lack of
complicated set up processes
@Fearless_Shultz #brightonSEO
Open Source Meaning it is Cross Platform and has a Large
Development Community
@Fearless_Shultz #brightonSEO
Makes Working with Data Easy and Reduces the Need to Write
Complex Formulas and Expressions
@Fearless_Shultz #brightonSEO
Highly Extendable Via Gallery of Custom Modules
@Fearless_Shultz #brightonSEO
What is PowerShell?
@Fearless_Shultz #brightonSEO
PowerShell Gives You Superpowers!!!
@Fearless_Shultz #brightonSEO
Actually, PowerShell is a task-based command-line shell and scripting
language built on .NET which helps system administrators and power-
users rapidly automate tasks that manage operating systems and
processes
But that doesn’t sound as cool…
@Fearless_Shultz #brightonSEO
So Why Should SEO’s Care?
@Fearless_Shultz #brightonSEO
• Scrape Websites
• Automate Website Interactions
• Run Screaming Frog Reports
• Consume Rest APIS
• Extract and Manipulate Data
• And Much More……..
@Fearless_Shultz #brightonSEO
Getting Started
@Fearless_Shultz #brightonSEO
https://www.peppercrew.nl/index.php/2014/06/powershell-
coding-on-a-mac/
https://wilsonmar.github.io/powershell-on-mac/
https://docs.microsoft.com/en-
us/powershell/scripting/install/installing-powershell-core-on-
linux?view=powershell-6
https://docs.microsoft.com/en-
us/powershell/scripting/install/installing-powershell-core-on-
macos?view=powershell-6
https://www.starwindsoftware.com/blog/using-powershell-
on-linux
@Fearless_Shultz #brightonSEO
Scripting Panel
Command Line
Cmdlets
@Fearless_Shultz #brightonSEO
Cmdlets
@Fearless_Shultz #brightonSEO
Command Line
A cmdlet (pronounced "command-let") is a lightweight Windows PowerShell script that performs a
single function.
Invoke-WebRequest Import / Export CSVInvokeRestMethod
@Fearless_Shultz #brightonSEO
Command Line
https://www.powershellgallery.com
@Fearless_Shultz #brightonSEO
Command Line
https://www.powershellgallery.com
@Fearless_Shultz #brightonSEO
Invoke-WebRequest
@Fearless_Shultz #brightonSEO
The Invoke-WebRequest cmdlet sends HTTP and HTTPS requests to a web
page or web service. It parses the response and returns collections of
links, images, and other significant HTML elements.
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/invoke-webrequest?view=powershell-6
@Fearless_Shultz #brightonSEO
$w = Invoke-WebRequest -Uri
'https://moz.com/learn/seo/what-is-seo'
$w | Get-Member
$w = $w.RawContent
$w
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
$w = Invoke-WebRequest -Uri 'https://moz.com/learn/seo/what-
is-seo'
$w | Get-Member
$w = $w.Links
$w
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
$w = Invoke-WebRequest -Uri 'https://moz.com/learn/seo/what-
is-seo'
$w | Get-Member
$w = $w.Links |
Select innerHTML, href |
WHERE innerHTML -like *SEO*
$w | Export-Csv 'C:scriptslinks.csv' -NoTypeInformation
@Fearless_Shultz #brightonSEO
innerHTML href
Free SEO Tools https://moz.com/tools
https://moz.com/learn/seo
https://moz.com/training
https://moz.com/beginners-guide-to-seo
SEO Learning Center https://moz.com/learn
Free SEO Tools https://moz.com/free-seo-tools
What is SEO? https://moz.com/learn/seo/what-is-seo
On-Site SEO /learn/seo/on-site
Local SEO /learn/seo/local
Mobile SEO /learn/seo/mobile
International SEO /learn/seo/international
Beginner's Guide to SEO /beginners-guide-to-seo
@Fearless_Shultz #brightonSEO
$w = Invoke-WebRequest -Uri 'https://moz.com/learn/seo/what-
is-seo'
$w | Get-Member
$w = $w.Links |
Select innerHTML
$w | Out-File 'C:scriptslink-text.txt'
Get-Content C:scriptslink-text.txt |
New-WordCloud -Path C:scriptswordcloud.svg -ImageSize 1080p
@Fearless_Shultz #brightonSEO
https://github.com/vexx32/PSWordCloud
@Fearless_Shultz #brightonSEO
$currentRequest = Invoke-WebRequest -Uri
https://moz.com/learn/seo/what-is-seo
$currentRequest.AllElements
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
$w = Invoke-WebRequest -Uri 'https://moz.com/learn/seo/what-
is-seo'
$w.AllElements | where tagname -EQ "p" |
select innerText |
where innerText -Like *seo*
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
$w = Invoke-WebRequest -Uri 'https://moz.com/learn/seo/what-
is-seo'
$w.AllElements | where tagname -EQ "p" |
select innerText |
where innerText -Like *seo*|
Out-File 'C:scriptsscriptfilesparagraphs.txt'
Get-Content C:scriptsscriptfilesparagraphs.txt |
New-WordCloud -Path C:scriptsscriptfilesparagraph-cloud.svg
-ImageSize 1080p
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
$path = 'C:scriptsscriptfiles'
Import-Csv -Path 'C:scriptsscriptfilesseo-competitors.csv'|
ForEach-Object{
foreach ($property in $_.PSObject.Properties)
{
$currentRequest = Invoke-WebRequest -Uri $property.Value
$pageTitle = $currentRequest.ParsedHtml.title
$currentSavePath = $path + $pageTitle + '.txt'
$currentSavePath = $currentSavePath -replace("?","")
$currentSavePath = $currentSavePath -replace("/","")
$currentSVGPath = $currentSavePath -replace("txt","svg")
$paragraphs = $currentRequest.AllElements | where tagname -EQ "p"|
select innerText|
Out-File $currentSavePath
Get-Content $currentSavePath | New-WordCloud -Path $currentSVGPath -ImageSize 1080p
}
}
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
Invoke-RestMethod
@Fearless_Shultz #brightonSEO
The Invoke-WebRestMethod cmdlet sends HTTP and HTTPS requests to a
web page or web service. It parses the response and returns collections
of links, images, and other significant HTML elements.
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/invoke-restmethod?view=powershell-6
@Fearless_Shultz #brightonSEO
$pageSpeedData = Invoke-RestMethod -Uri
'https://www.googleapis.com/pagespeedonl
ine/v5/runPagespeed?url=https://www.brig
htonseo.com/'
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
$pageSpeedData = Invoke-RestMethod -Uri
'https://www.googleapis.com/pagespeedonl
ine/v5/runPagespeed?url=https://www.brig
htonseo.com/'
$pageSpeedData.lighthouseResult.audits
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
$pageSpeedData = Invoke-RestMethod -Uri
'https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url
=https://www.dailymail.co.uk'
$offScreenImageCount =
$pageSpeedData.lighthouseResult.audits.'offscreen-
images'.details.items.count
for($i = 0; $i -le $offScreenImageCount; $i++){
$element = $pageSpeedData.lighthouseresult.audits.'offscreen-
images'.details.items.getvalue($i)
$element | export-csv 'C:scriptsoffscreen-images.csv' -
notypeinformation -append
}
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
totalBytes wastedBytes wastedPercent url requestStartTime
43337 43337 100 https://i.dailymail.co.uk/1s/2019/09/04/14/18057384-0-image-m-2_1567604298582.jpg 363649.4834
33206 33206 100 https://i.dailymail.co.uk/1s/2019/09/05/01/18085400-0-image-a-1_1567644632414.jpg 363649.2957
18845 18845 100 https://i.dailymail.co.uk/1s/2019/09/02/16/17978778-0-image-a-36_1567436926465.jpg 363650.0165
18714 18714 100 https://i.dailymail.co.uk/1s/2019/09/03/12/18010078-0-image-a-2_1567509730138.jpg 363650.6832
17963 17963 100 https://i.dailymail.co.uk/1s/2019/09/02/18/17982924-0-image-a-48_1567445797522.jpg 363650.6857
17524 17524 100 https://i.dailymail.co.uk/1s/2019/09/04/09/18050766-0-image-a-12_1567585569391.jpg 363650.6837
14205 14205 100 https://i.dailymail.co.uk/1s/2019/09/04/18/18072588-0-image-a-35_1567619706814.jpg 363650.6849
14101 14101 100 https://i.dailymail.co.uk/1s/2019/09/05/00/18082194-0-image-a-40_1567638380685.jpg 363650.6838
13642 13642 100 https://i.dailymail.co.uk/1s/2019/09/04/14/18062208-0-image-a-30_1567605415945.jpg 363650.6846
13164 13164 100 https://i.dailymail.co.uk/1s/2019/09/02/22/17987956-0-image-a-9_1567458265073.jpg 363650.0176
13063 13063 100 https://i.dailymail.co.uk/i/pix/2018/10/03/tips_v3_opt1_308.png 363649.4832
12987 12987 100 https://i.dailymail.co.uk/1s/2019/09/03/22/18033866-0-image-a-10_1567547692640.jpg 363650.6835
@Fearless_Shultz #brightonSEO
Import-Csv 'C:test-urls.csv' |
Foreach-Object {
foreach ($property in $_.PSObject.Properties)
{
$currentURL =
'https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=' +
$property.Value
$testResults = Invoke-restMethod -Uri
$currentURL$testResults.lighthouseResult.audits.'render-blocking-
resources'.details.items
$arrayCount = $testResults.lighthouseResult.audits.'render-blocking-
resources'.details.items.Count
for($i = 0; $i -le $arrayCount; $i++){$element =
$testResults.lighthouseResult.audits.'render-blocking-
resources'.details.items.GetValue($i)
$element | Export-Csv 'C:scriptsrender-results.csv' -NoTypeInformation -
Append
}
}
@Fearless_Shultz #brightonSEO
https://www.programmableweb.com/apis/directory
@Fearless_Shultz #brightonSEO
+ +
@Fearless_Shultz #brightonSEO
# run the screaming frog crawl
cd "C:Program Files (x86)Screaming Frog SEO Spider"
$env:Path = $env:Path + ";C:Program Files (x86)Screaming Frog SEO Spider"
$startingURL = "https://mikeosolinski.co.uk"
ScreamingFrogSEOSpiderCli.exe
--crawl $startingURL
--headless
--save-crawl
--output-folder “C:scriptssf"
--export-tabs "Internal:HTML,Response Codes:Client Error (4xx)"
https://www.screamingfrog.co.uk/seo-spider/user-guide/general/#commandlineoptions
@Fearless_Shultz #brightonSEO
#create an excel document to contain the data
$xl = New-Object -ComObject Excel.Application
$xl.Visible = $true
#add a workbook to the excel object
$workbook1 = $xl.WorkBooks.Add()
#add the sheet to contain long page titles
$lngPageTitles = $workbook1.Worksheets.Item(1)
$lngPageTitles.Name = 'Long Page Titles'
#create the column headers for long page titles
$lngPageTitles.Cells.Item(1,1) = 'Address'
$lngPageTitles.Cells.Item(1,2) = 'Status'
$lngPageTitles.Cells.Item(1,3) = 'Title Length'
@Fearless_Shultz #brightonSEO
#import the title length data from the screaming frog crawl
$titledata = Import-Csv -Path ‘C:scriptssfinternal_html.csv'|
select Address, Status,'Title 1 Length'|
where Status -eq 'OK'|
where 'Title 1 Length' -gt 55
#iterate through the records and add data to the sheet
$i = 2
foreach($record in $titledata)
{
$titledata.Address
$titledata.'Title 1 Length'
$lngPageTitles.cells.item($i,1) = $record.Address
$lngPageTitles.cells.item($i,2) = $record.Status
$lngPageTitles.cells.item($i,3) = $record.'Title 1 Length'
$i++
}
@Fearless_Shultz #brightonSEO
https://github.com/mikeosolinski/powershell/blob/master/screaming-frog-excel
@Fearless_Shultz #brightonSEO
https://github.com/mikeosolinski/powershell/blob/master/site-speed-data
@Fearless_Shultz #brightonSEO
# CHANGE THE URL BELOW TO THE ONE THAT YOU WANT TO TEST
$urltotest = 'https://mikeosolinski.co.uk'
#update the path to save files to from C:SiteSpeedDataTOOL-OUTPUT to whatever you want. avoid spaces in
path/filenames
#any questions on how to run this ping me on twitter at https://twitter.com/Fearless_Shultz
https://github.com/mikeosolinski/powershell/blob/master/site-speed-data
@Fearless_Shultz #brightonSEO
Extending PowerShell
@Fearless_Shultz #brightonSEO
Install-Module -Name GoogleMap -Scope CurrentUser
https://geekeefy.wordpress.com/2016/05/17/powershell-module-for-google-map/
@Fearless_Shultz #brightonSEO
$env:GoogleGeocode_API_Key = “INSERT API KEY"
$env:GooglePlaces_API_Key = “INSERT API KEY"
("Brighton, UK" | Get-GeoCoding).coordinates | Get-NearbyPlace -Radius 1000
-TypeOfPlace hotel
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
Install-Module -Name PSTwitterAPI -Scope CurrentUser
https://github.com/mkellerman/PSTwitterAPI
@Fearless_Shultz #brightonSEO
Import-Module PSTwitterAPI
#set keys
$apiKey = INSERT KEY HERE'
$apiSecret = INSERT API SECRET HERE'
$AccessToken = INSERT ACCESS TOKEN HERE'
$tokenSecret = INSERT TOKEN SECRET HERE'
# Provide Authentication for the Twitter API
# https://twittercommunity.com/t/how-to-get-my-api-key/7033
Set-TwitterOAuthSettings -ApiKey $apiKey -ApiSecret $apiSecret -AccessToken
$AccessToken -AccessTokenSecret $tokenSecret
# Get user twitter profile
$followers = Get-TwitterFollowers_List -count 200
$followers.users.name
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
Import-Module PSTwitterAPI
#set keys
$apiKey = INSERT KEY HERE'
$apiSecret = INSERT API SECRET HERE'
$AccessToken = INSERT ACCESS TOKEN HERE'
$tokenSecret = INSERT TOKEN SECRET HERE'
# Provide Authentication for the Twitter API
# https://twittercommunity.com/t/how-to-get-my-api-key/7033
Set-TwitterOAuthSettings -ApiKey $apiKey -ApiSecret $apiSecret -AccessToken
$AccessToken -AccessTokenSecret $tokenSecret
# Get user twitter profile
$followers = Get-TwitterFollowers_List -count 200
$followers.users
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
Import-Module PSTwitterAPI
#set keys
$apiKey = INSERT KEY HERE'
$apiSecret = INSERT API SECRET HERE'
$AccessToken = INSERT ACCESS TOKEN HERE'
$tokenSecret = INSERT TOKEN SECRET HERE'
# Provide Authentication for the Twitter API
# https://twittercommunity.com/t/how-to-get-my-api-key/7033
Set-TwitterOAuthSettings -ApiKey $apiKey -ApiSecret $apiSecret -AccessToken
$AccessToken -AccessTokenSecret $tokenSecret
# Get user twitter profile
$followers = Get-TwitterFollowers_List -count 200
$followers.users|
select name, screen_name, description|
where description -Like '*SEO*'
Export-Csv 'C:scriptsseo-followers.csv'-NoTypeInformation
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
@Fearless_Shultz #brightonSEO
Resources
@Fearless_Shultz #brightonSEO
https://github.com/mikeosolinski/powershell/ My Github profile which contains commented versions of all of the scripts mentioned
https://docs.microsoft.com/en-us/skypeforbusiness/set-up-your-computer-for-
windows-powershell/download-and-install-windows-powershell-5-1 The download page to install PowerShell
https://www.powershellgallery.com/ PowerShelll Cmdlet Gallery
https://www.adamtheautomator.com/invoke-webrequest-powershell/ Guide to Invoke-WebRequest
https://www.gngrninja.com/script-ninja/2016/7/8/powershell-getting-started-
utilizing-the-web Another guide to invoke WebRequest
https://stackoverflow.com/questions/11885246/how-do-i-loop-through-a-line-
from-a-csv-file-in-powershell Loops in PowerShell
https://www.youtube.com/watch?v=PXBMdIkH24I Associative Arrays in PowerShell
https://vwiki.co.uk/MySQL_and_PowerShell Accessing MySQL With PowerShell
https://mcpmag.com/articles/2018/08/08/replace-text-with-powershell.aspx Finding and Replacing Text
https://techblog.dorogin.com/generate-word-documents-with-powershell-
cda654b9cb0e Generating Word Documents with PowerShell
https://www.powershellbros.com/powershell-tip-of-the-week-create-invoke-
webrequest-from-chrome/ PowerShell and Google Chrome
https://docs.google.com/spreadsheets/d/1psz6SvRqv7fjIFIiAySPNshObMINjjFeCvGqTjluGLs/edit?usp=sharing
@Fearless_Shultz #brightonSEO
Closing Thoughts
@Fearless_Shultz #brightonSEO
PowerShell is Not Just for Systems Administrators and
Network Admins
@Fearless_Shultz #brightonSEO
PowerShell is An Incredibly Versatile Tool and you are
Only Limited By Your Own Imagination
@Fearless_Shultz #brightonSEO
Even If You Don’t Want to Learn to Script Yourself you
Should Understand the Opportunities
@Fearless_Shultz #brightonSEO
But. . .
@Fearless_Shultz #brightonSEO
You CAN do it
@Fearless_Shultz #brightonSEO
https://mikeosolinski.co.uk
http://twitter.com/Fearless_Shultz

More Related Content

PDF
Developing Technical SEO Skills - Brighton SEO Sept 2021
PDF
Command Line Automation for Repetitive Tasks
PPTX
BrightonSEO October 2022 - Dan Taylor SEO - Indexing Ecommerce Websites
PPTX
BrightonSEO - Master Crawl Budget Optimization for Enterprise Websites
PDF
[BrightonSEO 2022] Unlocking the Hidden Potential of Product Listing Pages
PDF
Using Search Intent in our Link Building Efforts
PPTX
brighton final.pptx
PDF
CSS For Backend Developers
Developing Technical SEO Skills - Brighton SEO Sept 2021
Command Line Automation for Repetitive Tasks
BrightonSEO October 2022 - Dan Taylor SEO - Indexing Ecommerce Websites
BrightonSEO - Master Crawl Budget Optimization for Enterprise Websites
[BrightonSEO 2022] Unlocking the Hidden Potential of Product Listing Pages
Using Search Intent in our Link Building Efforts
brighton final.pptx
CSS For Backend Developers

What's hot (20)

PDF
No More "It Depends" - Learn to Set your Visual SEO Resources #LondonSEOMeetu...
PDF
Winning SEO when doing Web Migrations #SEO4Life
PPTX
Image Link Building - Turning Your Smartphone Camera Into A Semi-passive Link...
PPTX
Brighton SEO Talk HS FINAL.pptx
PDF
SEO Automation Without Using Hard Code by Tevfik Mert Azizoglu - BrightonSEO ...
PPTX
Accessibility, strategy and schema - do they go hand in hand? Beth Barnham Br...
PDF
BrightonSEO slide deck Oct 2022 - Levi Williams-Clucas - Review Generation an...
PDF
Jen Penaluna: Red Light, Green Light Interviewing Potential Employers | Brigh...
PDF
Kleecks - AI-Martech as a game changer-DEF.pdf
PDF
The Ultimate SEO Guide for Successful Web Migrations at #DigitalOlympus
PDF
Stoicism in Digital - brightonSEO April 2022.pdf
PDF
BrightonSEO 2022.pdf
PDF
SEO at Scale - BrightonSEO April 2022
PPTX
How SEO changes, as we say bye bye to cookies
PPTX
Beth Barnham Schema Auditing BrightonSEO Slides.pptx
PPTX
Small Tasks Make Big Changes - Shmulik Dorinbaum.pptx
PDF
KIM DEWE - Transitioning into people management (BrightonSEO April 2022)
PPTX
How to improve Core Web Vitals on a WordPress website
PPTX
How to leverage SEO and other channels to expand into Chinese market
PDF
How to get more traffic with less content - BrightonSEO
No More "It Depends" - Learn to Set your Visual SEO Resources #LondonSEOMeetu...
Winning SEO when doing Web Migrations #SEO4Life
Image Link Building - Turning Your Smartphone Camera Into A Semi-passive Link...
Brighton SEO Talk HS FINAL.pptx
SEO Automation Without Using Hard Code by Tevfik Mert Azizoglu - BrightonSEO ...
Accessibility, strategy and schema - do they go hand in hand? Beth Barnham Br...
BrightonSEO slide deck Oct 2022 - Levi Williams-Clucas - Review Generation an...
Jen Penaluna: Red Light, Green Light Interviewing Potential Employers | Brigh...
Kleecks - AI-Martech as a game changer-DEF.pdf
The Ultimate SEO Guide for Successful Web Migrations at #DigitalOlympus
Stoicism in Digital - brightonSEO April 2022.pdf
BrightonSEO 2022.pdf
SEO at Scale - BrightonSEO April 2022
How SEO changes, as we say bye bye to cookies
Beth Barnham Schema Auditing BrightonSEO Slides.pptx
Small Tasks Make Big Changes - Shmulik Dorinbaum.pptx
KIM DEWE - Transitioning into people management (BrightonSEO April 2022)
How to improve Core Web Vitals on a WordPress website
How to leverage SEO and other channels to expand into Chinese market
How to get more traffic with less content - BrightonSEO
Ad

Similar to Brighton SEO Sept 2019 PowerShell (20)

PPTX
SPugPt Meeting 35: Manage govern and drive adoption of share point online wit...
PDF
Spsct15 power shell_csom - amit vasu
PDF
Intro to Selenium UI Tests with pytest & some useful pytest plugins
PDF
Intro to Php Security
ODP
SlideShare Instant
PPT
SlideShare Instant
PDF
Revoke-Obfuscation
PPT
Php My Sql Security 2007
PPT
Building Web Hack Interfaces
PPTX
SEO for large sites
PPT
Web 2.0 Expo: Even Faster Web Sites
PDF
Finding things on the web with BOSS
PPT
Web20expo 20080425
PDF
Web Development Foundation & Team Collaboration
PDF
January 2021 Microsoft 365 Need to Know Webinar
PDF
Exploring internet
PPT
Getting More Traffic From Search Advanced Seo For Developers Presentation
PPT
secure php
PDF
HTML5: o que vem aí...
PDF
Future of Search Engine Factors, AMP, On-Page Key to Success
SPugPt Meeting 35: Manage govern and drive adoption of share point online wit...
Spsct15 power shell_csom - amit vasu
Intro to Selenium UI Tests with pytest & some useful pytest plugins
Intro to Php Security
SlideShare Instant
SlideShare Instant
Revoke-Obfuscation
Php My Sql Security 2007
Building Web Hack Interfaces
SEO for large sites
Web 2.0 Expo: Even Faster Web Sites
Finding things on the web with BOSS
Web20expo 20080425
Web Development Foundation & Team Collaboration
January 2021 Microsoft 365 Need to Know Webinar
Exploring internet
Getting More Traffic From Search Advanced Seo For Developers Presentation
secure php
HTML5: o que vem aí...
Future of Search Engine Factors, AMP, On-Page Key to Success
Ad

Recently uploaded (20)

PPTX
newyork.pptxirantrafgshenepalchinachinane
DOC
Rose毕业证学历认证,利物浦约翰摩尔斯大学毕业证国外本科毕业证
PDF
Smart Home Technology for Health Monitoring (www.kiu.ac.ug)
PPTX
IPCNA VIRTUAL CLASSES INTERMEDIATE 6 PROJECT.pptx
PDF
Exploring VPS Hosting Trends for SMBs in 2025
PPTX
Internet Safety for Seniors presentation
PPTX
Introduction to cybersecurity and digital nettiquette
PPTX
t_and_OpenAI_Combined_two_pressentations
PDF
mera desh ae watn.(a source of motivation and patriotism to the youth of the ...
PPTX
Mathew Digital SEO Checklist Guidlines 2025
PDF
Slides PDF: The World Game (s) Eco Economic Epochs.pdf
PPT
FIRE PREVENTION AND CONTROL PLAN- LUS.FM.MQ.OM.UTM.PLN.00014.ppt
PPTX
Power Point - Lesson 3_2.pptx grad school presentation
PPT
Ethics in Information System - Management Information System
PDF
FINAL CALL-6th International Conference on Networks & IOT (NeTIOT 2025)
PPT
250152213-Excitation-SystemWERRT (1).ppt
PDF
Session 1 (Week 1)fghjmgfdsfgthyjkhfdsadfghjkhgfdsa
PDF
The New Creative Director: How AI Tools for Social Media Content Creation Are...
PPTX
Slides PPTX: World Game (s): Eco Economic Epochs.pptx
PDF
si manuel quezon at mga nagawa sa bansang pilipinas
newyork.pptxirantrafgshenepalchinachinane
Rose毕业证学历认证,利物浦约翰摩尔斯大学毕业证国外本科毕业证
Smart Home Technology for Health Monitoring (www.kiu.ac.ug)
IPCNA VIRTUAL CLASSES INTERMEDIATE 6 PROJECT.pptx
Exploring VPS Hosting Trends for SMBs in 2025
Internet Safety for Seniors presentation
Introduction to cybersecurity and digital nettiquette
t_and_OpenAI_Combined_two_pressentations
mera desh ae watn.(a source of motivation and patriotism to the youth of the ...
Mathew Digital SEO Checklist Guidlines 2025
Slides PDF: The World Game (s) Eco Economic Epochs.pdf
FIRE PREVENTION AND CONTROL PLAN- LUS.FM.MQ.OM.UTM.PLN.00014.ppt
Power Point - Lesson 3_2.pptx grad school presentation
Ethics in Information System - Management Information System
FINAL CALL-6th International Conference on Networks & IOT (NeTIOT 2025)
250152213-Excitation-SystemWERRT (1).ppt
Session 1 (Week 1)fghjmgfdsfgthyjkhfdsadfghjkhgfdsa
The New Creative Director: How AI Tools for Social Media Content Creation Are...
Slides PPTX: World Game (s): Eco Economic Epochs.pptx
si manuel quezon at mga nagawa sa bansang pilipinas

Brighton SEO Sept 2019 PowerShell