diff --git a/go/analysis/passes/asmdecl/asmdecl.go b/go/analysis/passes/asmdecl/asmdecl.go
index 0f8abb5..53117ef 100644
--- a/go/analysis/passes/asmdecl/asmdecl.go
+++ b/go/analysis/passes/asmdecl/asmdecl.go
@@ -514,7 +514,7 @@
 		for _, fld := range list {
 			t := pass.TypesInfo.Types[fld.Type].Type
 
-			// Work around github.com/golang/go/issues/28277.
+			// Work around https://golang.org/issue/28277.
 			if t == nil {
 				if ell, ok := fld.Type.(*ast.Ellipsis); ok {
 					t = types.NewSlice(pass.TypesInfo.Types[ell.Elt].Type)
diff --git a/go/analysis/passes/bools/bools.go b/go/analysis/passes/bools/bools.go
index 0e6f269..833c9d7 100644
--- a/go/analysis/passes/bools/bools.go
+++ b/go/analysis/passes/bools/bools.go
@@ -45,7 +45,7 @@
 
 		// TODO(adonovan): this reports n(n-1)/2 errors for an
 		// expression e||...||e of depth n. Fix.
-		// See https://github.com/golang/go/issues/28086.
+		// See https://golang.org/issue/28086.
 		comm := op.commutativeSets(pass.TypesInfo, e)
 		for _, exprs := range comm {
 			op.checkRedundant(pass, exprs)
diff --git a/go/analysis/passes/bools/testdata/src/a/a.go b/go/analysis/passes/bools/testdata/src/a/a.go
index fc4b8fb..c4b7dfd 100644
--- a/go/analysis/passes/bools/testdata/src/a/a.go
+++ b/go/analysis/passes/bools/testdata/src/a/a.go
@@ -48,7 +48,7 @@
 
 	// The various r.* patterns are intended to match duplicate
 	// diagnostics reported for the same underlying problem.
-	// See github.com/golang/go/issues/28086.
+	// See https://golang.org/issue/28086.
 	// TODO(adonovan): fix the checker.
 
 	_ = i == 1 || i == 1 || f() == 1 // want `redundant or: i == 1 \|\| i == 1` `r.*`
diff --git a/go/analysis/unitchecker/unitchecker.go b/go/analysis/unitchecker/unitchecker.go
index 018191a..76dabc2 100644
--- a/go/analysis/unitchecker/unitchecker.go
+++ b/go/analysis/unitchecker/unitchecker.go
@@ -182,7 +182,7 @@
 }
 
 var importerForCompiler = func(_ *token.FileSet, compiler string, lookup importer.Lookup) types.Importer {
-	// broken legacy implementation (github.com/golang/go/issues/28995)
+	// broken legacy implementation (https://golang.org/issue/28995)
 	return importer.For(compiler, lookup)
 }
 
diff --git a/go/callgraph/cha/testdata/issue23925.go b/go/callgraph/cha/testdata/issue23925.go
index 59eaf18..6a04092 100644
--- a/go/callgraph/cha/testdata/issue23925.go
+++ b/go/callgraph/cha/testdata/issue23925.go
@@ -1,6 +1,6 @@
 package main
 
-// Regression test for https://github.com/golang/go/issues/23925
+// Regression test for https://golang.org/issue/23925
 
 type stringFlagImpl string
 
diff --git a/go/gcexportdata/gcexportdata.go b/go/gcexportdata/gcexportdata.go
index 4c238d1..98b3987 100644
--- a/go/gcexportdata/gcexportdata.go
+++ b/go/gcexportdata/gcexportdata.go
@@ -16,7 +16,7 @@
 // time before the Go 1.8 release and rebuild and redeploy their
 // developer tools, which will then be able to consume both Go 1.7 and
 // Go 1.8 export data files, so they will work before and after the
-// Go update. (See discussion at https://github.com/golang/go/issues/15651.)
+// Go update. (See discussion at https://golang.org/issue/15651.)
 //
 package gcexportdata // import "golang.org/x/tools/go/gcexportdata"
 
diff --git a/go/loader/loader.go b/go/loader/loader.go
index c456661..de34b80 100644
--- a/go/loader/loader.go
+++ b/go/loader/loader.go
@@ -780,7 +780,7 @@
 	if to == "C" {
 		// This should be unreachable, but ad hoc packages are
 		// not currently subject to cgo preprocessing.
-		// See https://github.com/golang/go/issues/11627.
+		// See https://golang.org/issue/11627.
 		return nil, fmt.Errorf(`the loader doesn't cgo-process ad hoc packages like %q; see Go issue 11627`,
 			from.Pkg.Path())
 	}
diff --git a/go/loader/stdlib_test.go b/go/loader/stdlib_test.go
index 2cd066f..c70f325 100644
--- a/go/loader/stdlib_test.go
+++ b/go/loader/stdlib_test.go
@@ -31,7 +31,7 @@
 		t.Skipf("incomplete std lib on %s", runtime.GOOS)
 	}
 	if testing.Short() {
-		t.Skip("skipping in short mode; uses tons of memory (golang.org/issue/14113)")
+		t.Skip("skipping in short mode; uses tons of memory (https://golang.org/issue/14113)")
 	}
 
 	runtime.GC()
@@ -120,7 +120,7 @@
 
 func TestCgoOption(t *testing.T) {
 	if testing.Short() {
-		t.Skip("skipping in short mode; uses tons of memory (golang.org/issue/14113)")
+		t.Skip("skipping in short mode; uses tons of memory (https://golang.org/issue/14113)")
 	}
 	switch runtime.GOOS {
 	// On these systems, the net and os/user packages don't use cgo
diff --git a/go/packages/golist.go b/go/packages/golist.go
index 5181f6d..c4a1bd6 100644
--- a/go/packages/golist.go
+++ b/go/packages/golist.go
@@ -580,7 +580,7 @@
 			OtherFiles:      absJoin(p.Dir, otherFiles(p)...),
 		}
 
-		// Workaround for github.com/golang/go/issues/28749.
+		// Workaround for https://golang.org/issue/28749.
 		// TODO(adonovan): delete before go1.12 release.
 		out := pkg.CompiledGoFiles[:0]
 		for _, f := range pkg.CompiledGoFiles {
@@ -726,7 +726,7 @@
 
 	// As of writing, go list -export prints some non-fatal compilation
 	// errors to stderr, even with -e set. We would prefer that it put
-	// them in the Package.Error JSON (see http://golang.org/issue/26319).
+	// them in the Package.Error JSON (see https://golang.org/issue/26319).
 	// In the meantime, there's nowhere good to put them, but they can
 	// be useful for debugging. Print them if $GOPACKAGESPRINTGOLISTERRORS
 	// is set.
diff --git a/go/packages/packages_test.go b/go/packages/packages_test.go
index 2548e57..2079969 100644
--- a/go/packages/packages_test.go
+++ b/go/packages/packages_test.go
@@ -872,7 +872,8 @@
 	packagestest.TestAll(t, testLoadAllSyntaxImportErrors)
 }
 func testLoadAllSyntaxImportErrors(t *testing.T, exporter packagestest.Exporter) {
-	// TODO(matloob): Remove this once go list -e -compiled is fixed. See golang.org/issue/26755
+	// TODO(matloob): Remove this once go list -e -compiled is fixed.
+	// See https://golang.org/issue/26755
 	t.Skip("go list -compiled -e fails with non-zero exit status for empty packages")
 
 	exported := packagestest.Export(t, exporter, []packagestest.Module{{
diff --git a/go/packages/packagescgo_test.go b/go/packages/packagescgo_test.go
index ff0d4d8..afd792c 100644
--- a/go/packages/packagescgo_test.go
+++ b/go/packages/packagescgo_test.go
@@ -7,10 +7,11 @@
 package packages_test
 
 import (
-	"golang.org/x/tools/go/packages"
 	"runtime"
 	"strings"
 	"testing"
+
+	"golang.org/x/tools/go/packages"
 )
 
 func TestLoadImportsC(t *testing.T) {
@@ -24,7 +25,7 @@
 		t.Skipf("skipping on windows; packages on windows do not satisfy conditions for test.")
 	}
 	if runtime.GOOS == "plan9" {
-		// See https://github.com/golang/go/issues/27100.
+		// See https://golang.org/issue/27100.
 		t.Skip(`skipping on plan9; for some reason "net [syscall.test]" is not loaded`)
 	}
 
diff --git a/go/packages/stdlib_test.go b/go/packages/stdlib_test.go
index 7266524..c545b18 100644
--- a/go/packages/stdlib_test.go
+++ b/go/packages/stdlib_test.go
@@ -59,7 +59,7 @@
 
 func TestCgoOption(t *testing.T) {
 	if testing.Short() {
-		t.Skip("skipping in short mode; uses tons of memory (golang.org/issue/14113)")
+		t.Skip("skipping in short mode; uses tons of memory (https://golang.org/issue/14113)")
 	}
 
 	// TODO(adonovan): see if we can get away without these old
diff --git a/go/pointer/pointer_test.go b/go/pointer/pointer_test.go
index a06f304..07a241b 100644
--- a/go/pointer/pointer_test.go
+++ b/go/pointer/pointer_test.go
@@ -543,7 +543,7 @@
 
 func TestInput(t *testing.T) {
 	if testing.Short() {
-		t.Skip("skipping in short mode; this test requires tons of memory; golang.org/issue/14113")
+		t.Skip("skipping in short mode; this test requires tons of memory; https://golang.org/issue/14113")
 	}
 	ok := true
 
diff --git a/go/ssa/interp/interp_test.go b/go/ssa/interp/interp_test.go
index 97650a4..07bb53c 100644
--- a/go/ssa/interp/interp_test.go
+++ b/go/ssa/interp/interp_test.go
@@ -156,9 +156,9 @@
 type successPredicate func(exitcode int, output string) error
 
 func run(t *testing.T, dir, input string, success successPredicate) bool {
-	t.Skip("golang.org/issue/27292")
+	t.Skip("https://golang.org/issue/27292")
 	if runtime.GOOS == "darwin" {
-		t.Skip("skipping on darwin until golang.org/issue/23166 is fixed")
+		t.Skip("skipping on darwin until https://golang.org/issue/23166 is fixed")
 	}
 	fmt.Printf("Input: %s\n", input)
 
diff --git a/go/ssa/interp/testdata/complit.go b/go/ssa/interp/testdata/complit.go
index 876c37b..f06cba0 100644
--- a/go/ssa/interp/testdata/complit.go
+++ b/go/ssa/interp/testdata/complit.go
@@ -82,7 +82,7 @@
 	}
 }
 
-// Regression test for https://github.com/golang/go/issues/10127:
+// Regression test for https://golang.org/issue/10127:
 // composite literal clobbers destination before reading from it.
 func init() {
 	// map
@@ -166,7 +166,7 @@
 	}
 }
 
-// Regression test for https://github.com/golang/go/issues/13341:
+// Regression test for https://golang.org/issue/13341:
 // within a map literal, if a key expression is a composite literal,
 // Go 1.5 allows its type to be omitted.  An & operation may be implied.
 func init() {
diff --git a/go/ssa/stdlib_test.go b/go/ssa/stdlib_test.go
index f7e0f86..b30a695 100644
--- a/go/ssa/stdlib_test.go
+++ b/go/ssa/stdlib_test.go
@@ -48,7 +48,7 @@
 
 func TestStdlib(t *testing.T) {
 	if testing.Short() {
-		t.Skip("skipping in short mode; too slow (golang.org/issue/14113)")
+		t.Skip("skipping in short mode; too slow (https://golang.org/issue/14113)")
 	}
 	// Load, parse and type-check the program.
 	t0 := time.Now()
diff --git a/go/vcs/vcs.go b/go/vcs/vcs.go
index 114665a..be18b57 100644
--- a/go/vcs/vcs.go
+++ b/go/vcs/vcs.go
@@ -10,7 +10,7 @@
 // modified to make the identifiers exported. It's provided here
 // for developers who want to write tools with similar semantics.
 // It needs to be manually kept in sync with upstream when changes are
-// made to cmd/go/internal/get; see https://golang.org/issues/11490.
+// made to cmd/go/internal/get; see https://golang.org/issue/11490.
 //
 package vcs // import "golang.org/x/tools/go/vcs"
 
