House Resolution 3072 is Poorly Conceived and Written
US House Resolution 3072 would increase the minimum size of banks that are subject to direct examination by and reporting to the Consumer Financial Protection Bureau (CFPB) from $10 billion in assets to $50 billion in assets. As of June, 2017, this would exempt about 80 banks from the examination and reporting rules and leave about 40. I am opposed to this legislation for three reasons:
- A $10 billion bank is not a small bank without the compliance resources to handle examinations and this exempts banks that are big enough that when they do something problematic, the scale is large enough to cause regional problems. The $10 billion threshold represents 2.8% of all banks, while the proposed threshold represents 0.6% of US banks.
- Arbitrary asset limits of either $10 billion or $50 billion do not adjust for inflation, and moving the threshold from $10 billion to $50 billion does nothing to fix this problem. Neither inflation nor the deposit flood that occurs during a panic should push a bank into a different regulatory realm. For the businesses serving banks, regulatory instability is a bigger problem than regulatory burden, and this type of threshold legislation leads to legislative churn and regulatory instability.
- It does not address the different business models employed by banks over $50 billion. There are banks over $50 billion with business models that do not require much CFPB oversight and banks between $10 and $50 billion that should probably receive significant oversight.
Although I am opposed to this legislation, I am not strongly opposed for the simple reason that most of the mischief during the financial crisis occurred at the “too big to fail” banks, and this does not exempt those banks from CFPB examination.
These are Not Small Banks
The current $10 billion threshold is about the 98th percentile in assets ($10.7 billion), while the proposed $50 billion threshold is above the 99th percentile ($30 billion). These are not small banks with a small staff. Figure 1 shows employment by bank as a function of asset value. There are few banks of $10 billion with fewer than 1,000 employees, so these banks already have full-time compliance staff; this does not present the disproportional regulatory burden that it would for banks with less than 1,000 employees. Although this legislation would remove some oversight for some arguably large banks, it leaves in place oversight for the largest banks in a system that is badly skewed to very large banks. To understand the relative size of of banks in the US, Figure 2 shows the asset size distribution–even though it represents more than 5,800 banks the chart looks like an error due to the vast empty space in the right 90% of the histogram. Figure 3 shows only banks larger than $10 billion (about 120 of 5,800) and points out the dramatic skew in bank size.
Arbitrary Dollar Thresholds are Bad Legislation in the First Place
When legislation is written with arbitrary dollar limits as this bill uses, it means that normal inflation will push banks (or taxpayers in the case of the Alternative Minimum Tax) over the threshold when nothing has changed in terms of bank operations. Inevitably, the legislature is slow to reset the threshold, and institutions and consumers struggle to deal with a regulation that was never intended to apply to them. This legislation perpetuates that problem. It guarantees business for lobbyists, but is not a good way to write laws.
For businesses serving the banking industry, regulatory instability is probably a bigger problem than regulatory burden. If regulation is stable, you can automate the solutions, and banks can buy an inexpensive solution. If regulation is unstable, it cannot be automated and the management burden at a bank prevents the bank from innovating any way; the focus is on how to stay in compliance in a changing compliance world. This type of regulatory threshold is ultimately unstable for a larger number of institutions than other approaches.
There are at least two better threshold-based approaches:
- A percent of the total number of banks, such a bank being in the largest 2.5% for three consecutive years. This would present uncertainty for a small number of banks as the industry consolidates, but would not create inflation creep problems due to legislative inaction at some point in the future.
- An asset threshold set as a percentile of asset values. The 98th percentile of assets would currently be approximately $10 billion, while the 99th percentile in assets would be approximately $30 billion. Under normal inflation and consolidation conditions, this would minimize the effects of inflation creep.
A Business-model Approach Would be Best
Some banks just do not touch consumers, and examinations by the CFPB just do not make sense. Table 1 shows the banks that were above $10 billion at the end of June, 2017. There are clearly some banks in this list that have wholesale models where the word “consumer” just does not apply. Figuring out legislation that would take this approach is probably beyond the capability of any legislative body in the United States, so this is probably not a realistic approach, though it would be the best.
Table 1. List of Banks with Assets Greater than $10B | ||||||
Bank | City | State | Assets ($1K) | Deposits ($1K) | Employees | Web Site |
---|---|---|---|---|---|---|
WELLS FARGO BANK, NATIONAL ASSOCIATION | SIOUX FALLS | SD | 1,673,246,000 | 1,237,791,000 | 237,944 | http://www.wellsfargo.com |
JPMORGAN CHASE BANK, NATIONAL ASSOCIATION | COLUMBUS | OH | 1,631,896,000 | 1,270,117,000 | 189,315 | http://www.jpmorganchase.com |
BANK OF AMERICA, NATIONAL ASSOCIATION | CHARLOTTE | NC | 1,611,631,000 | 1,270,151,000 | 143,354 | www.bankofamerica.com |
CITIBANK, N.A | SIOUX FALLS | SD | 851,012,000 | 474,780,000 | 175,473 | www.citibank.com |
U.S. BANK NATIONAL ASSOCIATION | CINCINNATI | OH | 448,673,608 | 329,468,253 | 70,522 | http://www.usbank.com |
PNC BANK, NATIONAL ASSOCIATION | WILMINGTON | DE | 357,293,517 | 257,675,713 | 51,679 | www.pnc.com |
CAPITAL ONE, NATIONAL ASSOCIATION | MC LEAN | VA | 280,164,033 | 220,751,261 | 30,163 | www.capitalone.com |
TD BANK, N.A | WILMINGTON | DE | 268,184,699 | 227,051,124 | 25,096 | www.tdbank.com |
BRANCH BANKING AND TRUST COMPANY | WINSTON SALEM | NC | 215,064,000 | 163,093,000 | 35,503 | www.BBT.com |
SUNTRUST BANK | ATLANTA | GA | 202,481,382 | 162,671,910 | 22,464 | http://WWW.SUNTRUST.COM |
HSBC BANK USA, NATIONAL ASSOCIATION | MC LEAN | VA | 188,763,813 | 128,153,520 | 5,708 | www.banking.us.hsbc.com |
BANK OF NEW YORK MELLON, THE | NEW YORK | NY | 175,879,000 | 126,191,000 | 41,578 | www.bnymellon.com |
CHARLES SCHWAB BANK | RENO | NV | 175,657,000 | 162,367,000 | 612 | www.schwabbank.com |
STATE STREET BANK AND TRUST COMPANY | BOSTON | MA | 156,181,432 | 79,114,517 | 31,940 | http://www.statestreet.com |
GOLDMAN SACHS BANK USA | NEW YORK | NY | 151,219,000 | 105,886,000 | 992 | www.gsbank.com |
FIFTH THIRD BANK | CINCINNATI | OH | 138,297,752 | 104,809,057 | 17,695 | https://www.53.com |
CHASE BANK USA, NATIONAL ASSOCIATION | WILMINGTON | DE | 134,893,661 | 41,856,629 | 9,492 | http://www.chase.com |
KEYBANK NATIONAL ASSOCIATION | CLEVELAND | OH | 133,501,414 | 105,344,214 | 19,017 | www.key.com |
ALLY BANK | MIDVALE | UT | 126,005,000 | 86,256,000 | 6,880 | http://www.ALLY.com |
REGIONS BANK | BIRMINGHAM | AL | 123,716,371 | 99,191,861 | 21,350 | http://www.regions.com |
MANUFACTURERS AND TRADERS TRUST COMPANY | BUFFALO | NY | 120,357,682 | 94,979,081 | 16,039 | http://www.mtb.com |
CITIZENS BANK, NATIONAL ASSOCIATION | PROVIDENCE | RI | 120,137,787 | 87,914,988 | 14,828 | www.citizensbank.com |
MUFG UNION BANK, NATIONAL ASSOCIATION | SAN FRANCISCO | CA | 116,550,535 | 86,832,006 | 12,221 | www.unionbank.com |
MORGAN STANLEY BANK, N.A | SALT LAKE CITY | UT | 116,382,000 | 100,032,000 | 344 | NA |
CAPITAL ONE BANK (USA), NATIONAL ASSOCIATION | GLEN ALLEN | VA | 107,203,368 | 66,210,077 | 22,446 | www.capitalone.com |
BMO HARRIS BANK NATIONAL ASSOCIATION | CHICAGO | IL | 106,192,025 | 76,880,136 | 12,277 | http://www.bmoharris.com |
HUNTINGTON NATIONAL BANK, THE | COLUMBUS | OH | 101,280,420 | 77,936,696 | 15,070 | www.Huntington.com |
DISCOVER BANK | GREENWOOD | DE | 92,584,050 | 55,200,692 | 12,353 | www.discover.com |
NORTHERN TRUST COMPANY, THE | CHICAGO | IL | 87,267,889 | 36,878,232 | 17,292 | www.northerntrust.com |
BANK OF THE WEST | SAN FRANCISCO | CA | 86,911,273 | 64,078,723 | 10,094 | www.bankofthewest.com |
COMPASS BANK | BIRMINGHAM | AL | 83,946,716 | 66,222,248 | 9,837 | www.bbvacompass.com |
FIRST REPUBLIC BANK | SAN FRANCISCO | CA | 80,978,231 | 63,293,706 | 3,881 | www.firstrepublic.com |
USAA FEDERAL SAVINGS BANK | SAN ANTONIO | TX | 80,557,577 | 72,000,203 | 7,295 | www.usaa.com |
SANTANDER BANK, NATIONAL ASSOCIATION | WILMINGTON | DE | 79,360,980 | 57,291,082 | 9,448 | www.santander.com |
SYNCHRONY BANK | DRAPER | UT | 73,668,489 | 56,205,604 | 9,897 | WWW.SYNCHRONYFINANCIAL.COM |
COMERICA BANK | DALLAS | TX | 70,917,599 | 57,342,295 | 7,305 | www.comerica.com |
ZB, NATIONAL ASSOCIATION | SALT LAKE CITY | UT | 65,276,867 | 52,785,401 | 10,007 | http://www.zionsbank.com |
MORGAN STANLEY PRIVATE BANK, NATIONAL ASSOCIATION | PURCHASE | NY | 60,560,000 | 49,564,000 | 610 | NA |
UBS BANK USA | SALT LAKE CITY | UT | 52,817,587 | 46,982,008 | 341 | http://www.ubs.com/cefs/en/ubs-bank-usa/ubs-bank-usa.html |
AMERICAN EXPRESS BANK, FSB | SALT LAKE CITY | UT | 49,860,950 | 40,485,436 | 106 | http://www.americanexpress.com |
CITY NATIONAL BANK | LOS ANGELES | CA | 46,210,687 | 40,770,707 | 4,305 | http://www.cnb.com |
SILICON VALLEY BANK | SANTA CLARA | CA | 46,102,989 | 39,843,834 | 2,310 | www.svb.com |
E*TRADE BANK | ARLINGTON | VA | 45,504,146 | 40,344,566 | 47 | www.etrade.com |
NEW YORK COMMUNITY BANK | FLUSHING | NY | 44,762,686 | 26,330,850 | 2,022 | https://www.mynycb.com |
DEUTSCHE BANK TRUST COMPANY AMERICAS | NEW YORK | NY | 44,195,000 | 32,634,000 | 585 | http://www.db.com |
PEOPLE'S UNITED BANK, NATIONAL ASSOCIATION | BRIDGEPORT | CT | 42,705,802 | 32,064,694 | 5,233 | www.peoples.com |
CIT BANK, NATIONAL ASSOCIATION | PASADENA | CA | 41,181,081 | 31,912,428 | 3,699 | cit.com |
SIGNATURE BANK | NEW YORK | NY | 40,718,610 | 33,173,195 | 1,251 | http://www.signatureny.com |
AMERICAN EXPRESS CENTURION BANK | SALT LAKE CITY | UT | 37,010,205 | 19,283,445 | 294 | http://www.americanexpress.com |
CITIZENS BANK OF PENNSYLVANIA | PHILADELPHIA | PA | 35,666,791 | 30,178,882 | 2,885 | www.citizensbank.com |
FIRST-CITIZENS BANK & TRUST COMPANY | RALEIGH | NC | 34,599,352 | 29,483,243 | 6,665 | https://www.firstcitizens.com |
EAST WEST BANK | PASADENA | CA | 34,024,016 | 29,489,477 | 2,872 | http://www.eastwestbank.com |
TIAA, FSB | JACKSONVILLE | FL | 32,773,078 | 23,115,407 | 3,300 | www.everbank.com |
BOKF, NATIONAL ASSOCIATION | TULSA | OK | 32,318,943 | 22,549,197 | 4,680 | www.bokfinancial.com |
BANCO POPULAR DE PUERTO RICO | SAN JUAN | PR | 31,585,000 | 26,777,000 | 6,539 | http://www.popular.com |
BARCLAYS BANK DELAWARE | WILMINGTON | DE | 30,811,587 | 21,369,027 | 3,387 | www.barclaysus.com/deposits |
FIRST NATIONAL BANK OF PENNSYLVANIA | GREENVILLE | PA | 30,561,411 | 21,229,104 | 4,321 | www.fnb-online.com |
SYNOVUS BANK | COLUMBUS | GA | 30,534,286 | 25,465,778 | 4,094 | www.synovus.com |
FROST BANK | SAN ANTONIO | TX | 30,227,278 | 25,665,873 | 4,253 | http://www.frostbank.com |
ASSOCIATED BANK, NATIONAL ASSOCIATION | GREEN BAY | WI | 29,703,427 | 21,867,226 | 4,365 | www.associatedbank.com |
FIRST TENNESSEE BANK NATIONAL ASSOCIATION | MEMPHIS | TN | 29,176,534 | 22,621,047 | 4,112 | http://www.firsttennessee.com |
BANKUNITED, NATIONAL ASSOCIATION | MIAMI LAKES | FL | 28,909,570 | 20,949,969 | 1,686 | http://www.BankUnited.com |
WHITNEY BANK | GULFPORT | MS | 26,539,923 | 21,526,679 | 4,076 | www.hancockwhitney.com |
WEBSTER BANK, NATIONAL ASSOCIATION | WATERBURY | CT | 26,167,932 | 20,554,212 | 3,256 | http://www.websteronline.com |
UMPQUA BANK | ROSEBURG | OR | 25,220,026 | 19,566,602 | 4,342 | https://www.umpquabank.com/ |
COMMERCE BANK | KANSAS CITY | MO | 24,970,053 | 20,955,595 | 4,705 | www.commercebank.com |
INVESTORS BANK | SHORT HILLS | NJ | 24,324,696 | 16,352,535 | 1,943 | www.myinvestorsbank.com |
VALLEY NATIONAL BANK | PASSAIC | NJ | 23,413,583 | 17,303,067 | 2,902 | valleynationalbank.com |
BNY MELLON, NATIONAL ASSOCIATION | PITTSBURGH | PA | 23,272,288 | 18,930,200 | 1,958 | www.bnymellon.com |
TEXAS CAPITAL BANK, NATIONAL ASSOCIATION | DALLAS | TX | 23,109,493 | 17,506,254 | 1,501 | www.texascapitalbank.com |
PROSPERITY BANK | EL CAMPO | TX | 22,286,297 | 17,101,925 | 3,037 | http://www.prosperitybankusa.com |
PRIVATEBANK AND TRUST COMPANY, THE | CHICAGO | IL | 22,284,353 | 19,255,774 | 1,358 | www.theprivatebank.com |
PACIFIC WESTERN BANK | BEVERLY HILLS | CA | 22,223,332 | 17,366,146 | 1,696 | https://www.pacificwesternbank.com/ |
TD BANK USA, NATIONAL ASSOCIATION | WILMINGTON | DE | 22,215,091 | 18,872,549 | 75 | http://www.tdbank.com |
TCF NATIONAL BANK | SIOUX FALLS | SD | 21,756,559 | 17,655,784 | 5,889 | http://www.tcfbank.com |
IBERIABANK | LAFAYETTE | LA | 21,713,975 | 17,738,360 | 2,941 | http://www.iberiabank.com |
BANK OF AMERICA CALIFORNIA, NATIONAL ASSOCIATION | SAN FRANCISCO | CA | 21,567,000 | 17,719,000 | 0 | NA |
PINNACLE BANK | NASHVILLE | TN | 20,765,252 | 15,800,346 | 2,263 | http://www.pnfp.com |
RAYMOND JAMES BANK, NATIONAL ASSOCIATION | SAINT PETERSBURG | FL | 20,101,873 | 17,418,199 | 212 | www.raymondjamesbank.com |
UMB BANK, NATIONAL ASSOCIATION | KANSAS CITY | MO | 20,081,185 | 16,240,966 | 2,787 | www.umb.com |
BANK OF THE OZARKS | LITTLE ROCK | AR | 20,068,595 | 16,241,570 | 2,395 | http://www.bankozarks.com |
MB FINANCIAL BANK, NATIONAL ASSOCIATION | CHICAGO | IL | 19,874,009 | 14,281,176 | 3,478 | www.mbfinancial.com |
FIRST NATIONAL BANK OF OMAHA | OMAHA | NE | 19,518,079 | 16,159,398 | 4,667 | www.firstnational.com |
FIRST HAWAIIAN BANK | HONOLULU | HI | 19,497,364 | 16,143,601 | 2,191 | http://www.fhb.com |
SALLIE MAE BANK | SALT LAKE CITY | UT | 19,335,095 | 14,307,988 | 1,485 | www.salliemaebank.com |
WESTERN ALLIANCE BANK | PHOENIX | AZ | 18,748,070 | 16,082,923 | 1,647 | http://www.westernalliancebank.com |
CHEMICAL BANK | MIDLAND | MI | 18,730,163 | 13,227,524 | 3,364 | http://www.chemicalbank.com |
ARVEST BANK | FAYETTEVILLE | AR | 17,298,302 | 14,984,820 | 5,820 | www.arvest.com |
FIRSTBANK | LAKEWOOD | CO | 17,274,585 | 15,619,162 | 2,413 | http://www.efirstbank.com |
STATE FARM BANK, FSB | BLOOMINGTON | IL | 17,203,912 | 11,507,096 | 2,390 | www.statefarm.com/finances/banking |
SCOTTRADE BANK | TOWN AND COUNTRY | MO | 17,008,138 | 15,592,844 | 143 | www.scottrade.com |
BANK OF HAWAII | HONOLULU | HI | 16,456,854 | 13,859,935 | 2,142 | www.boh.com |
FLAGSTAR BANK, FSB | TROY | MI | 15,890,503 | 9,023,774 | 3,432 | www.flagstar.com |
STERLING NATIONAL BANK | MONTEBELLO | NY | 15,344,598 | 10,567,551 | 997 | www.snb.com |
WASHINGTON FEDERAL, NATIONAL ASSOCIATION | SEATTLE | WA | 15,084,501 | 10,667,533 | 1,815 | www.washingtonfederal.com |
OLD NATIONAL BANK | EVANSVILLE | IN | 14,863,415 | 10,797,561 | 2,411 | www.oldnational.com |
BANCORPSOUTH BANK | TUPELO | MS | 14,848,975 | 11,932,560 | 3,989 | www.bancorpsouth.com |
MIDFIRST BANK | OKLAHOMA CITY | OK | 14,547,409 | 7,829,551 | 2,479 | www.midfirst.com |
ASTORIA BANK | LONG ISLAND CITY | NY | 14,068,775 | 9,078,423 | 1,364 | www.astoriabank.com |
CATHAY BANK | LOS ANGELES | CA | 13,933,869 | 11,235,245 | 1,127 | www.cathaybank.com |
STIFEL BANK AND TRUST | SAINT LOUIS | MO | 13,926,601 | 12,057,553 | 176 | http://www.stifelbank.com |
TRUSTMARK NATIONAL BANK | JACKSON | MS | 13,907,101 | 10,439,499 | 2,858 | http://www.trustmark.com |
BANK OF HOPE | LOS ANGELES | CA | 13,852,962 | 10,968,853 | 1,378 | http://www.bankofhope.com |
FIRST MIDWEST BANK | ITASCA | IL | 13,776,789 | 11,080,838 | 2,113 | http://www.firstmidwest.com |
RABOBANK, NATIONAL ASSOCIATION | ROSEVILLE | CA | 13,660,000 | 10,381,000 | 1,532 | www.rabobankamerica.com |
THIRD FEDERAL SAVINGS & LOAN ASSOCIATION OF CLEVELAND | CLEVELAND | OH | 13,488,146 | 8,264,611 | 1,030 | http://www.thirdfederal.com |
UNITED BANK | FAIRFAX | VA | 13,309,359 | 9,168,084 | 1,310 | www.bankwithunited.com |
APPLE BANK FOR SAVINGS | MANHASSET | NY | 12,850,974 | 11,662,658 | 847 | www.theapplebank.com |
BREMER BANK, NATIONAL ASSOCIATION | SAINT PAUL | MN | 11,786,183 | 9,709,206 | 1,692 | http://www.bremer.com |
FIRSTBANK PUERTO RICO | SAN JUAN | PR | 11,699,027 | 8,584,845 | 2,579 | http://www.1firstbank.com |
COMENITY BANK | WILMINGTON | DE | 11,625,835 | 4,258,173 | 571 | www.comenity.net |
GREAT WESTERN BANK | SIOUX FALLS | SD | 11,460,391 | 8,978,245 | 1,629 | www.greatwesternbank.com |
FULTON BANK, NATIONAL ASSOCIATION | LANCASTER | PA | 11,262,145 | 8,431,272 | 1,287 | www.fultonbank.com |
SOUTH STATE BANK | COLUMBIA | SC | 11,151,597 | 9,063,129 | 2,260 | www.southstatebank.com |
CUSTOMERS BANK | PHOENIXVILLE | PA | 10,864,677 | 7,538,543 | 781 | www.customersbank.com |
CENTENNIAL BANK | CONWAY | AR | 10,861,231 | 7,861,199 | 1,551 | http://www.my100bank.com |
UNITED COMMUNITY BANK | BLAIRSVILLE | GA | 10,817,173 | 8,820,998 | 1,922 | www.ucbi.com |
COMMUNITY BANK, NATIONAL ASSOCIATION | CANTON | NY | 10,643,289 | 8,703,618 | 2,087 | www.communitybankna.com |
EASTERN BANK | BOSTON | MA | 10,574,493 | 8,848,771 | 1,786 | www.easternbank.com |
BANC OF CALIFORNIA, NATIONAL ASSOCIATION | SANTA ANA | CA | 10,356,655 | 8,104,994 | 811 | www.bancofcal.com |
CAPITAL BANK CORPORATION | RALEIGH | NC | 10,101,534 | 8,164,389 | 1,691 | WWW.CAPITALBANK-US.COM |
- Details
- Written by Bruce Moore
- Hits: 2497

Negative SEO Attack–What Do You Do?
A couple of years ago, I (and all webmasters) got a lot of Google Analytics referral spam. It really angered me, so I wrote an article about every referral spam attack, and they actually ranked well when you did a Google query for these sites. Apparently, this annoyed someone in the referral spam world, as they mounted a negative search engine optimization (SEO) attack against my site. They put a couple of hundred spammy links out on a couple of web sites that have a low reputation and which have probably gotten manual penalties from Google. I honestly have not been paying attention to SEO for a while, and did not notice it for several months. In any case, it looks like Google’s algorithms are in fact pretty good at detecting negative SEO, because my site has not experienced a drop-off in search traffic that I cannot attribute to not putting new content out on a regular basis and a falloff in searches for the keywords that drive traffic to particular articles.
What Is a Negative SEO Attack?
A negative SEO attack is the process of trying to lower the Google ranking of a web site or a web page. Usually, this is done by putting a lot of low-quality links to the victim’s page in places that Google will penalize. Marie Haynes has a great Moz article negative SEO attacks and what to do; I won’t rehash it here, but I will show you what it looked like for my site.
What Does a Negative SEO Attack Look Like?
I recognized the attack because recognizing and recovering from a negative SEO attack was discussed at one of the Dallas Interactive Marketing & Internet SEO/SEM Meetup that I attended on Keeping Google’s Fluffy Animals (and their Algorithmic friends) From Your Door.
Google Search Console is the place where you will see the attack when you look at the listing of links to your site. Figure 1 shows some of the links aimed at my site; how did I attribute these to a Negative SEO attack? First, all of the links in Figure 1 are all images copied from various web sites with links back to my site and the site itself appears to be aimed at people who mistype “blogspot” and instead type “blogqpot” for the URL. TCPIPutils.com shows private ownership, that the domain was in September, 2016, and that it expired on September 15, 2017.

The other site contained links that appeared to be machine generated blog posts that combined several blocks of standard text in different combinations, but with identical link text for all of the links to my site. The domain was private, but redirected to a domain that is registered in Egypt. The links to my site did not make sense, especially in the jumbled context of the “articles.”
One of the links to my site actually appears to be a blog where attackers are discussing sites that have posted articles about referral spam.
None of the spam links generate actual traffic to my site.
Google Link Disavow Tool
Google Search Console has a tool through which you can disavow links. Use it wisely, as you could accidentally tank your ranking if you disavow a really good link. Before disavowing links, I made sure that I did not get any traffic from any of the spam links. In Google Search Console, I exported all of the links that I wanted to disavow–about 15 files and then concatenated them with
cat *.csv google_disavow_2017-09-27.txt
and then manually removed the “Link” headers embedded in the file. Next, I uploaded the list to the Disavow Link Tool in Google Search Console. Figure 2 shows the Disavow Link Tool, while Figure 3 shows the results of a successful submission.


Summary
Keeping up with Google Search Console backlinks should be at least a weekly part of your site maintenance work.
- Details
- Written by Bruce Moore
- Hits: 2526

Adding Structured Data to Your JEvents Calendar Entries
Search engine optimization (SEO) is an important part of any website’s design. Structured data is an important part of a basic SEO program, but unfortunately, many Joomla extensions are well behind the state of the art when it comes to implementing structured data, even though Joomla itself has made great strides in recent releases.
Calendar plugins are an important part of most web sites, and Schema.org implements a very rich Event tag should be implemented by all calendar plugins. Many do not implement it, including the JEvents extension.
The article that follows describes how to use the custom template feature in JEvents to add structured data to your calendar.
HTML Implementation of Event Tag Structured Data for JEvents Event Detail
Generally, the JavaScript based tags are the easiest way to implement structured data, but in most editor implementations, script tags get stripped out for security reasons. You can generally enable scripting but this presents some security issues for general users, and may require you to purchase a paid version of a plugin in order to get granular authorizations that allow admins to use scripting but prevent general users from doing so.
Because of the difficulties in script authorization, I have chosen an implementation that does not use scripting, but instead uses HTML microdata. It is harder to read and is more cumbersome but does not require special permissions management.
To add the structured data, go to the “Custom Layouts” section and select the “Event Detail Page” entry. Add the highlighted tags to you entry and publish the page.
<div class="event-wrapper" itemscope="itemscope" itemtype="http://schema.org/Event">
<p>{{Ical Button:ICALBUTTON}} {{Edit Button:EDITBUTTON}}</p>
<div class="contentpaneopen jev_evdt">
<div class="jev_evdt_header">
<div class="jev_evdt_title">
<div class="event-title" itemprop="name">{{Title:TITLE}}</div>
</div>
</div>
<div class="jev_eventdetails_body"><!--
<div class="jev_evdt_summary">{{Repeat Summary:REPEATSUMMARY}} {{Previous/Next Links:PREVIOUSNEXT}}</div>
-->
<div class="jev_evdt_summary">
<div class="event-date" itemprop="startDate">{{Start Date:STARTDATE}} {{Start Time:STARTTIME}}</div>
to {{Start Time:ENDTIME}}</div>
<div class="jev_evdt_hits">{{Hits:HITS}}</div>
<div class="jev_evdt_contact"><span class="contact">{{Contact Label:CONTACT_LABEL}}</span>{{Contact:CONTACT}}</div>
<div class="jev_evdt_location">
<div class="event-venue" itemscope="itemscope" itemtype="http://schema.org/Place" itemprop="location">
<div class="address" itemscope="itemscope" itemtype="http://schema.org/PostalAddress" itemprop="address">{{Location:LOCATION}}</div>
</div>
</div>
<br class="jev_evdt_extrainf" /> </div>
<div class="jev_evdt_desc"><span class="description"><span itemprop="description">{{Description:DESCRIPTION}}</span></span></div>
<div class="jev_evdt_extrainf">{{Extra Info:EXTRAINFO}}</div>
<div> </div>
<!--
<div>{{End Time:ENDTIME}}{{Repeat Summary:REPEATSUMMARY}}</div>
</div>
<div class="jev_evdt_creator"><span class="creator">{{Creator:CREATOR_LABEL}} </span>{{Creator:CREATOR}}</div>
<div class="jev_evdt_location"><span class="location">{{Location Label:LOCATION_LABEL}}</span>{{Location:LOCATION}}</div>
--></div>
</div>
Testing Your Structured Data Markup
To test your structured data markup, use the Google Structured Data Testing Tool
Adding Event-specific Structured Data
JEvents (at least the free version) does not allow you to specify offers or many of the other Event tags that Google recommends. You add them as a part of the event detail with some additional work, as shown in the code listed in Figures 2, 3 and 4.
<div itemscope="itemscope" itemtype="http://schema.org/AggregateOffer" itemprop="offers">This is a free event (<span itemprop="priceCurrency">$</span><span itemprop="price">0.00</span>), but the room for this session only has seats for about <span itemprop="availability">20</span> people, so please RSVP on the <span itemprop="url"><a href="https://www.meetup.com/joomladallas/events/236093658/">https://www.meetup.com/joomladallas/events/236093658/</a></span>.</div>
<p><span itemscope="itemscope" itemtype="http://schema.org/Person" itemprop="performer"><span itemprop="name">Bruce Moore</span></span>, <span itemscope="itemscope" itemtype="http://schema.org/Person" itemprop="performer"><span itemprop="name">Jeff Morris</span></span>, and <span itemscope="itemscope" itemtype="http://schema.org/Person" itemprop="performer"><span itemprop="name">Wilma Howell</span></span> will speak at this event.</p>
<figure><figcaption>Bruce Moore speaking at the North Dallas Joomla User Group Meetup</figcaption> <img src="/images/figures/bruce_moore_speaking_at_joomla_meetup.jpg" alt="North Dallas Joomla Meetup" itemprop="image" /></figure>
<p>For event details, see the <a href="https://www.meetup.com/joomladallas/events/236093658/">Joomla User Group Meetup page</a>.</p>
To see how this is interpreted by Google, look at the results from the Structured Data Testing Tool.
- Details
- Written by Bruce Moore
- Hits: 2912

Test Your Template and Framework Before Upgrading to Joomla 3.8
Joomla 3.8 was released a few days ago and offers a number of improvements, but it is primarily a release to give extension developers tools that they need to prepare for some changes in PHP. It has a couple of security fixes, but they probably do not apply to the way many webmasters have configured their sites. You need to move to 3.8, but you do not need to move today.
Moving three sites from 3.7.5 to 3.8 was uneventful, but it is clear that the changes in 3.8 will require testing for templates and the frameworks upon which they depend. All of my sites upgraded without issue, but I had to update one template’s framework and another template suddenly started working properly in one area. My experience for upgrading the three sites and my recommendations for migration follow.
Recommendations for Upgrading to Joomla 3.8
- More than previous releases, you need to do some research and testing for templates and their underlying frameworks before upgrading a production site. Two of my three sites had recent upgrades to their underlying framework, and the third site is Protostar-based which probably got upgrades as part of Joomla 3.8.
- Do not put testing for this upgrade off indefinitely. There are changes to the router that generates URLs and changes to prepare for upcoming PHP encryption support changes. Some extensions and templates will break in the future, and you probably want to learn about problems now rather than at a point when you absolutely need to upgrade immediately for security patch reasons.
- Read about this release. The router/URL generator and encryption changes will require some planning. The compatibility mode for the router works just like it always has but you will probably want to change to the new mode in the future, but this will require planning.
- If your ISP offers PHP 7.2, do not upgrade to 7.2 at this time. Akeeba Backup and Akeeba Admin Tools only support PHP 7.1, and they do not work on 7.2. I tried. That said, PHP 7.2 appears to offer signficant performance improvements over 7.1, so I plan to move as soon as Akeeba supports 7.2.
Upgrading ProtoStar-based Site
My Protostar site upgraded with no changes in behavior or problems.
Upgrading Rocket Theme Afterburner2 Site
My RocketTheme written Afterburner2 template site got an upgrade to the Gantry framework upgrade a couple of weeks ago, but did not change behavior at that time. When I upgraded to Joomla 3.8, the most recent article that was supposed to show up above a static page started working correctly for the first time ever. It always worked for https://hillcresttm.org/home but this is the first time that it started working properly for https://hillcresttm.org/.
For me, I always considered the previous behavior broken, but any change in behavior is something that means you need to test.
Upgrading a Shape5 Forte Site
My Shape5 written Forte template site upgraded with no error messages, but menus did not appear on when displayed in a desktop browser. Menus worked fine in mobile browsers, just not desktop browsers. An examination of the template showed an available upgrade to the Vertex framework upon which Forte is based. Upgrading from Vertex 4.1 to 4.2 fixed the menu display problem.

Alternative Routers–sh404SEF
The old Joomla router had a defect where it would generate multiple URLs with a canonical
attribute, a big no-no for search engine optimization (SEO). sh404SEF and other Joomla extensions provided alternative routers that fixed this problem. As you upgrade to Joomla 3.8 and various extension developers upgrade to support the new router, you will need to test for compatibility if you have used an alternative router. In particular, I found a problem where the OSMap site-map plugin fails to generate a usable URL when set up with sh404SEF as the router, but works fine with the Joomla router. The old non-search engine friendly (SEF) URLs that I have registered with Google still work fine.
If you use sh404SEF and have problems with a particular component, you can try using other routers for that component by specifying the router for that component within sh404SEF, as shown in Figure 2, the dialog for sh404SEF->Configuration->By Component.

Other New Features to Enable
The default session handler uses the database for your Joomla site, but the PHP handler can be noticeably faster. To enable it, go to Global Configuration and change the settings as shown in Figure 2.

Summary
Joomla 3.8 is an important upgrade, but it is not an urgent upgrade. You should spend some time testing your template before upgrading your production site.
- Details
- Written by Bruce Moore
- Hits: 2581
UseR! 2017 Recap
I recently returned from a week at the UseR! 2017 conference in Brussels, which was a great opportunity to catch up on the latest trends in the R world. This conference was noticeably different from the 2015 Aalborg conference in the demographics of the audience; in prior conferences, the attendees were overwhelmingly either PhD faculty or PhD candidates but at this conference many if not the majority were consultants and practitioners from industry. There is a lot to cover, so I’ll split things into a few categories:
- Trends
- Natural Language Processing
- A Tidal Wave of Mapping
- Shiny Stuff
- Docker Was Common
- Tidyverse
- Mixed Integer Programming
- Parallel Processing
- Making Web Sites Accessible to the Blind


- Details
- Written by Bruce Moore
- Hits: 3223